result) {
+ if (result.isSuccessful()) {
+ // message sent success
...
- } else {
- // message sent failed
+ } else {
+ // message sent failed
...
- }
- }
- }));
+ }
+ }
+ });
```
12. Receive a message
@@ -545,6 +545,27 @@ Here are some examples of how to use the Android SDK in your app.
```java
message.getMentions()
```
+28. Change the max capture fps when screen sharing
+
+ ```java
+ webex.phone().setAdvancedSetting(new ShareMaxCaptureFPS(int value));
+ ```
+29. Switch the audio play output mode during a call
+
+ ```java
+ activeCall.switchAudioOutput(AudioOutputMode audioOutputMode);
+ ```
+
+30. Enable Background Noise Removal(BNR)
+
+ ```java
+ webex.phone().enableAudioBNR(boolean enable);
+ ```
+31. Set Background Noise Removal(BNR) mode
+
+ ```java
+ webex.phone().setAudioBNRMode(Phone.AudioBRNMode mode);
+ ```
## Migrating from Cisco Spark Android SDK
@@ -598,6 +619,6 @@ Pull requests welcome. To suggest changes to the SDK, please fork this repositor
## License
-© 2016-2020 Cisco Systems, Inc. and/or its affiliates. All Rights Reserved.
+© 2016-2021 Cisco Systems, Inc. and/or its affiliates. All Rights Reserved.
See [LICENSE](https://github.com/webex/webex-android-sdk/blob/master/LICENSE) for details.
diff --git a/sdk/build.gradle b/sdk/build.gradle
index e6bb7462..73fee8fc 100755
--- a/sdk/build.gradle
+++ b/sdk/build.gradle
@@ -9,8 +9,8 @@ ext {
moduleName = 'Cisco Webex Android SDK'
moduleGroupId = 'com.ciscowebex'
moduleArtifactId = 'androidsdk'
- moduleVersion = '2.6.0'
- moduleVersionCode = 26026
+ moduleVersion = '2.7.0'
+ moduleVersionCode = 27005
moduleDescription = 'Cisco Webex SDK for Android'
moduleSiteUrl = 'https://developer.webex.com/docs/sdks/android'
moduleProjectUrl = 'https://github.com/webex/webex-android-sdk'
@@ -24,6 +24,8 @@ ext {
moduleDeveloperEmail = 'devsupport@ciscowebex.com'
moduleDeveloperOrganization = 'Cisco System Inc'
moduleDeveloperOrganizationURL = 'https://www.webex.com/'
+
+ moduleWMEVersion = '10.12.2.0'
}
Properties properties = new Properties()
@@ -180,6 +182,41 @@ publishing {
}
}
}
+
+ WME(MavenPublication) {
+ groupId "com.webex"
+ artifactId "wme4android-release"
+ version moduleWMEVersion
+ artifact rootDir.absolutePath + '/deps/wme4android-release-' + moduleWMEVersion + '.aar'
+ pom.withXml {
+ asNode().appendNode('description', 'Cisco Webex Media Engine')
+ asNode().appendNode('name', 'Cisco Webex Media Engine')
+ asNode().children().last() + {
+ resolveStrategy = DELEGATE_FIRST
+ url moduleSiteUrl
+ scm {
+ url moduleGitUrl
+ connection moduleConnectionUrl
+ developerConnection moduleDeveloperConnectionUrl
+ }
+ licenses {
+ license {
+ name 'Commercial'
+ url 'https://www.cisco.com/c/en/us/products/end-user-license-agreement.html'
+ }
+ }
+ developers {
+ developer {
+ id moduleDeveloperId
+ name moduleDeveloperName
+ email moduleDeveloperEmail
+ organization moduleDeveloperOrganization
+ organizationUrl 'https://www.webex.com/products/teams/'
+ }
+ }
+ }
+ }
+ }
}
repositories {
@@ -205,7 +242,7 @@ publishing {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
- implementation 'com.webex:wme4android-release:10.8.5.0@aar'
+ implementation "com.webex:wme4android-release:$moduleWMEVersion@aar"
implementation 'com.google.code.gson:gson:2.7'
implementation 'com.github.benoitdion.ln:ln:0.1.2'
implementation 'com.squareup.okhttp3:okhttp:3.12.0'
@@ -268,7 +305,7 @@ task javadoc(type: Javadoc) {
options.docTitle(moduleName + ' ' + moduleVersion)
options.links("http://docs.oracle.com/javase/7/docs/api/");
options.links("http://d.android.com/reference/");
- options.footer('Copyright © 2016–2020 Cisco System Inc. All Rights Reserved.')
+ options.footer('Copyright © 2016–2021 Cisco System Inc. All Rights Reserved.')
exclude '**/BuildConfig.java'
exclude '**/R.java'
exclude '**/internal/**'
diff --git a/sdk/src/androidTest/java/com/ciscowebex/androidsdk/WebexTestRunner.java b/sdk/src/androidTest/java/com/ciscowebex/androidsdk/WebexTestRunner.java
index f7c900cb..ac4f2e6a 100644
--- a/sdk/src/androidTest/java/com/ciscowebex/androidsdk/WebexTestRunner.java
+++ b/sdk/src/androidTest/java/com/ciscowebex/androidsdk/WebexTestRunner.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/androidTest/java/com/ciscowebex/androidsdk/auth/JWTAuthenticatorTest.java b/sdk/src/androidTest/java/com/ciscowebex/androidsdk/auth/JWTAuthenticatorTest.java
index 711246f2..bfad8718 100644
--- a/sdk/src/androidTest/java/com/ciscowebex/androidsdk/auth/JWTAuthenticatorTest.java
+++ b/sdk/src/androidTest/java/com/ciscowebex/androidsdk/auth/JWTAuthenticatorTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/AndroidManifest.xml b/sdk/src/main/AndroidManifest.xml
index b06f0925..3e0ba8ef 100755
--- a/sdk/src/main/AndroidManifest.xml
+++ b/sdk/src/main/AndroidManifest.xml
@@ -2,6 +2,7 @@
package="com.ciscowebex.androidsdk">
+
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/CompletionHandler.java b/sdk/src/main/java/com/ciscowebex/androidsdk/CompletionHandler.java
index 06b92786..6ce08a43 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/CompletionHandler.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/CompletionHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/Result.java b/sdk/src/main/java/com/ciscowebex/androidsdk/Result.java
index c2ae958c..35036a32 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/Result.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/Result.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/Webex.java b/sdk/src/main/java/com/ciscowebex/androidsdk/Webex.java
index 4eab8682..e069fad1 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/Webex.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/Webex.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/WebexError.java b/sdk/src/main/java/com/ciscowebex/androidsdk/WebexError.java
index 0dbf97aa..4c4969b8 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/WebexError.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/WebexError.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/WebexEvent.java b/sdk/src/main/java/com/ciscowebex/androidsdk/WebexEvent.java
index 6cf6bfab..b76abf2a 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/WebexEvent.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/WebexEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -23,6 +23,8 @@
package com.ciscowebex.androidsdk;
import com.ciscowebex.androidsdk.internal.model.ActivityModel;
+import com.ciscowebex.androidsdk.internal.model.LocusModel;
+import com.ciscowebex.androidsdk.internal.model.LocusParticipantInfoModel;
import com.ciscowebex.androidsdk.internal.model.PersonModel;
import com.ciscowebex.androidsdk.utils.WebexId;
@@ -56,6 +58,13 @@ protected Base(ActivityModel activity) {
}
}
+ protected Base(LocusModel locus) {
+ LocusParticipantInfoModel participant = locus.getHost();
+ if (participant != null) {
+ _actorId = new WebexId(WebexId.Type.PEOPLE, WebexId.DEFAULT_CLUSTER, participant.getId()).getBase64Id();
+ }
+ }
+
/**
* @see WebexEvent
*/
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/Authenticator.java b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/Authenticator.java
index 05e2e89e..86f6b7a0 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/Authenticator.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/Authenticator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/JWTAuthenticator.java b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/JWTAuthenticator.java
index a5f3b640..438f2eed 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/JWTAuthenticator.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/JWTAuthenticator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/OAuthAuthenticator.java b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/OAuthAuthenticator.java
index e768a29c..07207f4a 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/OAuthAuthenticator.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/OAuthAuthenticator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/OAuthWebViewAuthenticator.java b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/OAuthWebViewAuthenticator.java
index fd740033..7125127b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/OAuthWebViewAuthenticator.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/OAuthWebViewAuthenticator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/SSOAuthenticator.java b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/SSOAuthenticator.java
index ca8e3313..2f459a08 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/SSOAuthenticator.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/SSOAuthenticator.java
@@ -1,5 +1,5 @@
/**
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/internal/OAuthLauncher.java b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/internal/OAuthLauncher.java
index f4a13b10..07c42ee4 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/internal/OAuthLauncher.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/internal/OAuthLauncher.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/internal/TokenAuthenticator.java b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/internal/TokenAuthenticator.java
index ab605539..b8180ad7 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/auth/internal/TokenAuthenticator.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/auth/internal/TokenAuthenticator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/AcquirePermissionActivity.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/AcquirePermissionActivity.java
index 26de83b1..567e2d21 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/AcquirePermissionActivity.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/AcquirePermissionActivity.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Closure.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Closure.java
index 26dbc746..99d91e37 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Closure.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Closure.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal;
public interface Closure {
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Credentials.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Credentials.java
index 4c502229..2fef6644 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Credentials.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Credentials.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Device.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Device.java
index 159fc1a3..dc3d902f 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Device.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Device.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ErrorDetail.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ErrorDetail.java
index 3313c6c2..45c27f7a 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ErrorDetail.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ErrorDetail.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/MetricsService.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/MetricsService.java
index 836a501e..41393868 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/MetricsService.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/MetricsService.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal;
import android.support.annotation.NonNull;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ResultImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ResultImpl.java
index 714cbf7b..ca52054b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ResultImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ResultImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Service.kt b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Service.kt
index f5101030..c561d19f 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Service.kt
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Service.kt
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ServiceReqeust.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ServiceReqeust.java
index 9d59fc6e..6f1ef4b0 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ServiceReqeust.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/ServiceReqeust.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal;
import android.support.annotation.NonNull;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Settings.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Settings.java
index c6657ffb..eb8346fc 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Settings.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/Settings.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -35,11 +35,13 @@ public class Settings {
public static Settings shared = new Settings();
private SharedPreferences store;
+ private SharedPreferences keep;
private Settings() {}
public void init(Context context) {
this.store = context.getSharedPreferences(Webex.class.getPackage().getName(), MODE_PRIVATE);
+ this.keep = context.getSharedPreferences(Webex.class.getPackage().getName() + ".keep", MODE_PRIVATE);
}
public void store(String key, String value) {
@@ -54,18 +56,42 @@ public void store(String key, boolean value) {
}
}
+ public void storeKeep(String key, String value) {
+ if (keep != null) {
+ keep.edit().putString(key, value).apply();
+ }
+ }
+
+ public void storeKeep(String key, boolean value) {
+ if (keep != null) {
+ keep.edit().putBoolean(key, value).apply();
+ }
+ }
+
public void clear(String key) {
if (store != null) {
store.edit().remove(key).apply();
}
}
+ public void clearKeep(String key) {
+ if (keep != null) {
+ keep.edit().remove(key).apply();
+ }
+ }
+
public void clear() {
if (store != null) {
store.edit().clear().apply();
}
}
+ public void clearKeep() {
+ if (keep != null) {
+ keep.edit().clear().apply();
+ }
+ }
+
public String get(String key, String defaultValue) {
if (store != null) {
return store.getString(key, defaultValue);
@@ -90,4 +116,28 @@ public T get(String key, Class clazz, T defaultValue) {
return defaultValue;
}
+ public String getKeep(String key, String defaultValue) {
+ if (keep != null) {
+ return keep.getString(key, defaultValue);
+ }
+ return defaultValue;
+ }
+
+ public boolean getKeep(String key, boolean defaultValue) {
+ if (keep != null) {
+ return keep.getBoolean(key, defaultValue);
+ }
+ return defaultValue;
+ }
+
+ public T getKeep(String key, Class clazz, T defaultValue) {
+ if (keep != null) {
+ String value = keep.getString(key, null);
+ if (value != null) {
+ return Objects.defaultIfNull(Json.fromJson(value, clazz), defaultValue);
+ }
+ }
+ return defaultValue;
+ }
+
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/MercuryEventAdapter.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/MercuryEventAdapter.java
index 7fa97fdf..19714fb5 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/MercuryEventAdapter.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/MercuryEventAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/ObjectModelAdapter.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/ObjectModelAdapter.java
index 02962db2..4e009eaa 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/ObjectModelAdapter.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/ObjectModelAdapter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/SimpleAdaptor.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/SimpleAdaptor.java
index bd68ead4..9708f9a4 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/SimpleAdaptor.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/adaptor/SimpleAdaptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/CryptoUtils.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/CryptoUtils.java
index 1025f62b..8931e29d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/CryptoUtils.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/CryptoUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KeyManager.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KeyManager.java
index 736954fb..a5a6bed2 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KeyManager.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KeyManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KeyObject.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KeyObject.java
index ba951d88..21c80fe6 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KeyObject.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KeyObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KmsRequestWrapper.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KmsRequestWrapper.java
index 20b66591..b80320e6 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KmsRequestWrapper.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KmsRequestWrapper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KmsResourceObject.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KmsResourceObject.java
index 8a3e2e82..c1705f0f 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KmsResourceObject.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/KmsResourceObject.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -22,8 +22,8 @@
package com.ciscowebex.androidsdk.internal.crypto;
-import android.net.Uri;
import android.support.annotation.NonNull;
+
import com.github.benoitdion.ln.Ln;
import java.net.URI;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/SecureContentReference.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/SecureContentReference.java
index ccf013e3..28ff74d5 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/SecureContentReference.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/SecureContentReference.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.crypto;
import com.nimbusds.jose.*;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/SymmetricJWK.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/SymmetricJWK.java
index 4e2ad169..c7726b4d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/SymmetricJWK.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/SymmetricJWK.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/TypedSecureContentReferenceOutput.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/TypedSecureContentReferenceOutput.java
index 48526ca0..31d2bd72 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/TypedSecureContentReferenceOutput.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/crypto/TypedSecureContentReferenceOutput.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/AudioPlaybackStreamType.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/AudioPlaybackStreamType.java
index c08282a3..4a8bf06c 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/AudioPlaybackStreamType.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/AudioPlaybackStreamType.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaCapability.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaCapability.java
index 70da5ef4..e5dda8f4 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaCapability.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaCapability.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -24,17 +24,23 @@
import android.os.Build;
import android.os.Environment;
+
import com.ciscowebex.androidsdk.phone.AdvancedSetting;
import com.ciscowebex.androidsdk.phone.Phone;
import com.ciscowebex.androidsdk.utils.Lists;
import com.github.benoitdion.ln.Ln;
import com.webex.wme.MediaConfig;
import com.webex.wme.MediaConnection;
-import me.helloworld.utils.Checker;
+
import org.json.JSONObject;
import java.io.File;
-import java.util.*;
+import java.util.Arrays;
+import java.util.EnumSet;
+import java.util.List;
+import java.util.Map;
+
+import me.helloworld.utils.Checker;
public class MediaCapability {
@@ -45,7 +51,7 @@ public class MediaCapability {
+ "\"yv12Capture\":false"
+ "}}}}";
- private static final List DEFAULT_AE_MODLES = Lists.asList("SM-G93", "SM-G95", "SM-G96", "SM-G97", "SM-N95", "SM-N96", "GM19");
+ private static final List DEFAULT_AE_MODLES = Lists.asList("SM-G93", "SM-G95", "SM-G96", "SM-G97", "SM-N95", "SM-N96", "GM19");
private static final int DEFAULT_MAX_STREAMS = 4;
@@ -81,6 +87,10 @@ public class MediaCapability {
private EnumSet constraints = EnumSet.noneOf(MediaConstraint.class);
+ private boolean enableAudioBNR = false;
+
+ private Phone.AudioBRNMode audioBRNMode = Phone.AudioBRNMode.HP;
+
public MediaCapability() {
setAudioEnhancementModels(null);
}
@@ -158,6 +168,14 @@ public void setDefaultCamera(WMEngine.Camera camera) {
this.camera = camera;
}
+ public void setEnableAudioBNR(boolean enableAudioBNR) {
+ this.enableAudioBNR = enableAudioBNR;
+ }
+
+ public void setAudioBRNMode(Phone.AudioBRNMode audioBRNMode) {
+ this.audioBRNMode = audioBRNMode;
+ }
+
public void setAudioPlaybackFile(String audioPlaybackFile) {
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
@@ -267,6 +285,10 @@ private void applyAudioConfig(MediaConnection connection) {
config.EnableRecordLossData(false);
config.EnableClientMix(1);
config.SetMaxBandwidth(audioMaxRxBandwidth);
+ config.EnableBNR(enableAudioBNR);
+ if (enableAudioBNR) {
+ config.SetBNRProfileMode(audioBRNMode.getValue());
+ }
if (!Checker.isEmpty(audioPlaybackFile)) {
config.EnableFileCapture(audioPlaybackFile, true);
}
@@ -275,6 +297,16 @@ private void applyAudioConfig(MediaConnection connection) {
private void applySharingConfig(MediaConnection connection) {
MediaConfig.ShareConfig config = connection.GetShareConfig(WMEngine.Media.Sharing.mid());
config.SetMaxBandwidth(sharingMaxRxBandwidth);
+ if (!Checker.isEmpty(this.settings)) {
+ AdvancedSetting.ShareMaxCaptureFPS setting = (AdvancedSetting.ShareMaxCaptureFPS) this.settings.get(AdvancedSetting.ShareMaxCaptureFPS.class);
+ if (setting != null && setting.getValue() != null && setting.getValue() > 0 && !setting.getValue().equals(AdvancedSetting.ShareMaxCaptureFPS.defaultValue)) {
+ int fps = setting.getValue();
+ if (fps > 10) {
+ fps = 10;
+ }
+ config.SetScreenMaxCaptureFps(fps);
+ }
+ }
}
private void applyVideoConfig(MediaConnection connection) {
@@ -295,7 +327,7 @@ private void applyVideoConfig(MediaConnection connection) {
decoderCodec.uProfileLevelID = decoderSCR.levelId;
decoderCodec.max_br = videoMaxRxBandwidth / 1000;
decoderCodec.max_mbps = decoderSCR.maxMbps;
- decoderCodec.max_fs = decoderSCR.maxFs;
+ decoderCodec.max_fs = decoderSCR.maxFs;
decoderCodec.max_fps = decoderSCR.maxFps;
config.SetDecodeParams(MediaConfig.WmeCodecType.WmeCodecType_AVC, decoderCodec);
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaConstraint.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaConstraint.java
index 2a04a468..fb76329f 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaConstraint.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaConstraint.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaError.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaError.java
index aae9f5d8..20527203 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaError.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaError.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaHelper.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaHelper.java
index 0502dca0..f6ffca04 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaHelper.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaHelper.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaSCR.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaSCR.java
index a29a8474..22263c34 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaSCR.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/MediaSCR.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WMEngine.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WMEngine.java
index 603afc66..5a463827 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WMEngine.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WMEngine.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.media;
import android.content.Context;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeObserver.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeObserver.java
index 09f19f95..6497f0e5 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeObserver.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeObserver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeSession.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeSession.java
index 57b3a72e..df59d399 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeSession.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeSession.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -291,6 +291,10 @@ public MediaCapability getCapability() {
return capability;
}
+ public MediaDeviceMananger getMediaDeviceManager(){
+ return deviceManager;
+ }
+
private boolean hasMedia(WmeTrack.Type type) {
if (type == WmeTrack.Type.LocalAudio || type == WmeTrack.Type.RemoteAudio) {
return capability.hasAudio();
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeTrack.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeTrack.java
index d5294f11..99098195 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeTrack.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/WmeTrack.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/AudioDeviceConnectionManager.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/AudioDeviceConnectionManager.java
index 928cc47b..8dfab5d2 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/AudioDeviceConnectionManager.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/AudioDeviceConnectionManager.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -25,7 +25,9 @@
import android.bluetooth.*;
import android.content.Context;
import android.media.AudioManager;
+
import com.ciscowebex.androidsdk.internal.media.*;
+import com.ciscowebex.androidsdk.phone.Call;
import com.github.benoitdion.ln.Ln;
import com.webex.wme.MediaSessionAPI;
@@ -132,8 +134,7 @@ void onWiredHeadsetStateUpdated(boolean connected) {
if (session != null) {
if (connected) {
session.headsetPluggedIn();
- }
- else {
+ } else {
session.headsetPluggedOut();
}
}
@@ -145,36 +146,24 @@ void onBluetoothStateUpdated() {
}
private void doUpdate() {
- if (audioManager.isWiredHeadsetOn()) {
- status = ConnectionStatus.WIRED_HEADSET;
- }
- else if (audioManager.isBluetoothScoAvailableOffCall() && (isBTHeadsetConnected() || isBTA2dpConnected())) {
+ if (audioManager.isBluetoothScoAvailableOffCall() && (isBTHeadsetConnected() || isBTA2dpConnected())) {
status = ConnectionStatus.BLUETOOTH;
- }
- else {
+ } else if (audioManager.isWiredHeadsetOn()) {
+ status = ConnectionStatus.WIRED_HEADSET;
+ } else {
status = ConnectionStatus.NONE;
}
Ln.d("status: " + status + "; previousStatus: " + previousStatus + "; devicePreference: " + devicePreference);
if (status != previousStatus) {
previousStatus = status;
if (status == ConnectionStatus.WIRED_HEADSET) {
- Ln.d("playThroughWiredHeadset");
- audioManager.stopBluetoothSco();
- audioManager.setSpeakerphoneOn(false);
- //int mode = isAudioEnhancement() ? android.media.AudioManager.MODE_IN_COMMUNICATION : android.media.AudioManager.MODE_NORMAL;
- audioManager.setMode(android.media.AudioManager.MODE_IN_COMMUNICATION);
- }
- else if (status == ConnectionStatus.BLUETOOTH) {
- Ln.d("playThroughBluetooth");
- audioManager.setMode(android.media.AudioManager.MODE_IN_COMMUNICATION);
- audioManager.setSpeakerphoneOn(false);
- audioManager.startBluetoothSco();
- }
- else {
+ playThroughPhoneOrHeadSet();
+ } else if (status == ConnectionStatus.BLUETOOTH) {
+ playThroughBluetooth();
+ } else {
if (devicePreference == DevicePref.EARPIECE) {
playThroughEarpiece();
- }
- else {
+ } else {
playThroughSpeakerPhone();
}
}
@@ -244,5 +233,53 @@ private void playThroughEarpiece() {
audioManager.setMode(android.media.AudioManager.MODE_IN_COMMUNICATION);
}
+ private void playThroughBluetooth() {
+ Ln.d("playThroughBluetooth");
+ audioManager.setMode(android.media.AudioManager.MODE_IN_COMMUNICATION);
+ audioManager.setSpeakerphoneOn(false);
+ audioManager.startBluetoothSco();
+ }
+
+ private void playThroughPhoneOrHeadSet() {
+ Ln.d("playThroughWiredHeadset");
+ audioManager.stopBluetoothSco();
+ audioManager.setSpeakerphoneOn(false);
+ //int mode = isAudioEnhancement() ? android.media.AudioManager.MODE_IN_COMMUNICATION : android.media.AudioManager.MODE_NORMAL;
+ audioManager.setMode(android.media.AudioManager.MODE_IN_COMMUNICATION);
+ }
+
+ private void playThroughNone() {
+ Ln.d("playThroughNone");
+ audioManager.stopBluetoothSco();
+ audioManager.setSpeakerphoneOn(false);
+ }
+ public void toggleAudioOutput(Call.AudioOutputMode mode) {
+ switch (mode) {
+ case PHONE:
+ case HEADSET:
+ if (audioManager.isWiredHeadsetOn()) {
+ status = ConnectionStatus.WIRED_HEADSET;
+ } else {
+ status = ConnectionStatus.NONE;
+ }
+ playThroughPhoneOrHeadSet();
+ break;
+ case SPEAKER:
+ status = ConnectionStatus.NONE;
+ playThroughSpeakerPhone();
+ break;
+ case BLUETOOTH_HEADSET:
+ if (audioManager.isBluetoothScoAvailableOffCall() && (isBTHeadsetConnected() || isBTA2dpConnected())) {
+ status = ConnectionStatus.BLUETOOTH;
+ playThroughBluetooth();
+ }
+ break;
+ default:
+ status = ConnectionStatus.NONE;
+ playThroughNone();
+ break;
+ }
+ previousStatus = status;
+ }
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/AudioManagerDelegate.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/AudioManagerDelegate.java
index 647dd619..a8b819ae 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/AudioManagerDelegate.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/AudioManagerDelegate.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/BluetoothBroadcastReceiver.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/BluetoothBroadcastReceiver.java
index 70d8a09c..6a636170 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/BluetoothBroadcastReceiver.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/BluetoothBroadcastReceiver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/BluetoothServiceListener.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/BluetoothServiceListener.java
index 00391024..c4516470 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/BluetoothServiceListener.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/BluetoothServiceListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/HeadsetIntentReceiver.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/HeadsetIntentReceiver.java
index 100a5ac3..eca7cc84 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/HeadsetIntentReceiver.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/HeadsetIntentReceiver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/MediaDeviceMananger.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/MediaDeviceMananger.java
index 45f2bc00..ba9862d9 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/MediaDeviceMananger.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/MediaDeviceMananger.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -30,6 +30,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Handler;
+
import com.ciscowebex.androidsdk.internal.queue.Queue;
import com.ciscowebex.androidsdk.internal.media.WMEngine;
import com.ciscowebex.androidsdk.internal.media.WmeSession;
@@ -72,8 +73,7 @@ public MediaDeviceMananger(Context context, WMEngine engine) {
videoMutedByProximity = true;
proximitySensor.disableScreen();
}
- }
- else if (event == ProximitySensor.Listener.ProximityEvent.FAR) {
+ } else if (event == ProximitySensor.Listener.ProximityEvent.FAR) {
if (speakerOnBeforeProximity) {
delegate.setMode(android.media.AudioManager.MODE_NORMAL);
delegate.setSpeakerphoneOn(speakerOnBeforeProximity);
@@ -146,4 +146,8 @@ public void unregister() {
public DeviceManager.MediaDevice getCamera(WMEngine.Camera camera) {
return deviceManager.getCamera(camera.toDeviceCamera());
}
+
+ public AudioDeviceConnectionManager getAudioDeviceConnectionManager() {
+ return audioDeviceConnectionManager;
+ }
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/ProximitySensor.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/ProximitySensor.java
index b256d310..5a09351e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/ProximitySensor.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/ProximitySensor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/SensorManagerDelegate.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/SensorManagerDelegate.java
index 7c26d7e3..e4103256 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/SensorManagerDelegate.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/SensorManagerDelegate.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/VolumeSettingChangedListener.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/VolumeSettingChangedListener.java
index 4ca92397..30eab5fc 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/VolumeSettingChangedListener.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/media/device/VolumeSettingChangedListener.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryActivityEvent.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryActivityEvent.java
index 347b10a6..14c41e61 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryActivityEvent.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryActivityEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryEnvelope.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryEnvelope.java
index 32e0402e..83ea6707 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryEnvelope.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryEnvelope.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryEvent.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryEvent.java
index 11a4222d..399f2b5a 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryEvent.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsAckEvent.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsAckEvent.java
index 686ab636..746e56d1 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsAckEvent.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsAckEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsMessageEvent.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsMessageEvent.java
index f7b131a3..9f31c9a2 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsMessageEvent.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsMessageEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsPushEvent.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsPushEvent.java
index 7af9734a..e8f7e34b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsPushEvent.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryKmsPushEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryLocusEvent.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryLocusEvent.java
index 1b6f604f..813c429b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryLocusEvent.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryLocusEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryService.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryService.java
index 15eeb161..4b9d217e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryService.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryTypingEvent.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryTypingEvent.java
index b9d106f3..dd58f701 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryTypingEvent.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/mercury/MercuryTypingEvent.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/CallAnalyzerErrorCode.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/CallAnalyzerErrorCode.java
index c10beb43..59b59238 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/CallAnalyzerErrorCode.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/CallAnalyzerErrorCode.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.metric;
import static com.cisco.wx2.diagnostic_events.Error.Category;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/CallAnalyzerReporter.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/CallAnalyzerReporter.java
index 23058118..d24abb69 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/CallAnalyzerReporter.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/CallAnalyzerReporter.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.metric;
import android.support.annotation.Nullable;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/ClientEventBuilder.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/ClientEventBuilder.java
index 86a19501..0504c973 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/ClientEventBuilder.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/ClientEventBuilder.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.metric;
import android.support.annotation.Nullable;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/DiagnosticsEventBuilder.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/DiagnosticsEventBuilder.java
index 2bd80cfb..4704b30c 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/DiagnosticsEventBuilder.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/DiagnosticsEventBuilder.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.metric;
import android.content.Context;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MediaQualityBuilder.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MediaQualityBuilder.java
index bcbef6c8..5b28e50f 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MediaQualityBuilder.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MediaQualityBuilder.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.metric;
import com.cisco.wx2.diagnostic_events.MQEInterval;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MetricService.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MetricService.java
index aafedcad..626435ac 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MetricService.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MetricService.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.metric;
import com.ciscowebex.androidsdk.CompletionHandler;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MetricsHelper.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MetricsHelper.java
index 95ebac78..42c3ebc1 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MetricsHelper.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/metric/MetricsHelper.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.metric;
import com.cisco.wx2.diagnostic_events.MediaLine;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ActivityModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ActivityModel.java
index d005be71..876d14cc 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ActivityModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ActivityModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/AlertTypeModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/AlertTypeModel.java
index 6dd5fdc2..8699f810 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/AlertTypeModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/AlertTypeModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/CalliopeClusterModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/CalliopeClusterModel.java
index 12b54033..57d2d5be 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/CalliopeClusterModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/CalliopeClusterModel.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.model;
import java.util.List;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/CommentModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/CommentModel.java
index a3baee12..811a29fd 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/CommentModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/CommentModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ContentModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ContentModel.java
index 4e6e0885..a28c6a73 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ContentModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ContentModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ConversationModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ConversationModel.java
index 5254f824..31845820 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ConversationModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ConversationModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/DeviceModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/DeviceModel.java
index 49961895..c345adca 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/DeviceModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/DeviceModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/DisplayHintsModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/DisplayHintsModel.java
index 54ffef15..c3bd7619 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/DisplayHintsModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/DisplayHintsModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/FileModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/FileModel.java
index ea2644ad..1fb938c7 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/FileModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/FileModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/FloorModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/FloorModel.java
index 50ecdfb5..0c9fab11 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/FloorModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/FloorModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GenericMetricModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GenericMetricModel.java
index 79153848..4c8d1efd 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GenericMetricModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GenericMetricModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GenericMetricsModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GenericMetricsModel.java
index 53e5a6fa..03502359 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GenericMetricsModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GenericMetricsModel.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.model;
import java.util.ArrayList;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GroupMentionModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GroupMentionModel.java
index 4eb1828a..81a584f0 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GroupMentionModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/GroupMentionModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ImageModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ImageModel.java
index c4d7bef3..8753ccea 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ImageModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ImageModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/IntentModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/IntentModel.java
index 7cdbadf6..a13b1b45 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/IntentModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/IntentModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ItemsModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ItemsModel.java
index 8b10616b..106d5a82 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ItemsModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ItemsModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/JWTLoginModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/JWTLoginModel.java
index 3a814c52..8472e5cc 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/JWTLoginModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/JWTLoginModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/KmsInfoModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/KmsInfoModel.java
index 196632da..232ded36 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/KmsInfoModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/KmsInfoModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/KmsMessageModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/KmsMessageModel.java
index c16ec2de..ed87c587 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/KmsMessageModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/KmsMessageModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusControlMetaModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusControlMetaModel.java
index 37215ab1..2952e81d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusControlMetaModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusControlMetaModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusControlModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusControlModel.java
index 628c31cb..11def0fe 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusControlModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusControlModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusDescriptionModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusDescriptionModel.java
index 503c9104..d56a994e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusDescriptionModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusDescriptionModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusKeyModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusKeyModel.java
index 2e457672..34c20e61 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusKeyModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusKeyModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusLinkModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusLinkModel.java
index 26015042..8fc8d6a0 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusLinkModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusLinkModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusListResponseModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusListResponseModel.java
index 8cc88610..852b381e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusListResponseModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusListResponseModel.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.model;
import java.util.List;
@@ -5,8 +27,18 @@
public class LocusListResponseModel {
private List loci;
+ private List remoteLocusClusterUrls;
+ private List locusUrls;
public List getLoci() {
return loci;
}
+
+ public List getRemoteLocusClusterUrls() {
+ return remoteLocusClusterUrls;
+ }
+
+ public List getLocusUrls() {
+ return locusUrls;
+ }
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusLockControlModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusLockControlModel.java
index b3bd5426..5726790f 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusLockControlModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusLockControlModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusMediaDirection.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusMediaDirection.java
index 3c6cc86a..f5a5a823 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusMediaDirection.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusMediaDirection.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusMediaResponseModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusMediaResponseModel.java
index bb4b1954..a4d915f4 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusMediaResponseModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusMediaResponseModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusModel.java
index 658792ee..df2deedb 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantAudioControlModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantAudioControlModel.java
index e966e7db..20d646db 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantAudioControlModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantAudioControlModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantChallengeControlModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantChallengeControlModel.java
index e5600d73..9ee2a9cd 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantChallengeControlModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantChallengeControlModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantControlsModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantControlsModel.java
index 79f57895..37cc8f29 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantControlsModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantControlsModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantDeviceModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantDeviceModel.java
index 748cf66f..d3b51547 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantDeviceModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantDeviceModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantInfoModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantInfoModel.java
index 27a59462..29d7bc80 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantInfoModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantInfoModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantLocalRecordControlModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantLocalRecordControlModel.java
index 09f055ce..7ae31e3e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantLocalRecordControlModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantLocalRecordControlModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantModel.java
index 62a30c06..84cf4e9d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantStatusModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantStatusModel.java
index 18bd4d09..33903ddd 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantStatusModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusParticipantStatusModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusRecordControlModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusRecordControlModel.java
index 065cc19c..e0bfc382 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusRecordControlModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusRecordControlModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusReplacesModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusReplacesModel.java
index 4ec5fc61..2fb637e0 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusReplacesModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusReplacesModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusScheduledMeetingModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusScheduledMeetingModel.java
index a43a8905..2d45da6f 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusScheduledMeetingModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusScheduledMeetingModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusSelfModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusSelfModel.java
index df586481..2820bf4d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusSelfModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusSelfModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusSequenceModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusSequenceModel.java
index b6b86d6c..90466856 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusSequenceModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusSequenceModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusStateModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusStateModel.java
index 1239f09b..ee08dc20 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusStateModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusStateModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusUrlResponseModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusUrlResponseModel.java
index a5ff401b..1b5e8bfc 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusUrlResponseModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/LocusUrlResponseModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MarkdownableModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MarkdownableModel.java
index 47a5c9de..876fdd2d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MarkdownableModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MarkdownableModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaConnectionModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaConnectionModel.java
index e78ae539..fee09cf4 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaConnectionModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaConnectionModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaEngineReachabilityModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaEngineReachabilityModel.java
index 3c49ac49..13b4fd13 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaEngineReachabilityModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaEngineReachabilityModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaInfoModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaInfoModel.java
index b7af7398..8283c0c9 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaInfoModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaInfoModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaShareModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaShareModel.java
index 31363272..540e05f8 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaShareModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MediaShareModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MentionableModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MentionableModel.java
index 412dca33..c53b7628 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MentionableModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/MentionableModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ObjectModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ObjectModel.java
index 00e5edb7..b29c23e3 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ObjectModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ObjectModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/OrganizationModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/OrganizationModel.java
index 7cbd44aa..c2bcc408 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/OrganizationModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/OrganizationModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/OrganizationPolicyModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/OrganizationPolicyModel.java
index 9b68a09c..601f51be 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/OrganizationPolicyModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/OrganizationPolicyModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ParentModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ParentModel.java
index 52b4422b..7dc868c7 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ParentModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ParentModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/PersonModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/PersonModel.java
index 64580ee3..1cf6dfdc 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/PersonModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/PersonModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/PlaceModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/PlaceModel.java
index 0d92f706..abce1429 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/PlaceModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/PlaceModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ProviderModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ProviderModel.java
index 8a4d6008..dcb2388d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ProviderModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ProviderModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ReachabilityModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ReachabilityModel.java
index 71888644..dc5fdb13 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ReachabilityModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ReachabilityModel.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.model;
public class ReachabilityModel {
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/RegionModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/RegionModel.java
index 6cb4e48a..51c94313 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/RegionModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/RegionModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ServiceHostModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ServiceHostModel.java
index 44f0ad88..0e435474 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ServiceHostModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ServiceHostModel.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.model;
import java.util.HashMap;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ServicesClusterModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ServicesClusterModel.java
index e3c83753..b9daf726 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ServicesClusterModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/ServicesClusterModel.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.model;
import me.helloworld.utils.Checker;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/SpacePropertyModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/SpacePropertyModel.java
index 1e73112d..1867ffcc 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/SpacePropertyModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/SpacePropertyModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/SuggestedMediaModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/SuggestedMediaModel.java
index 2bb87bbb..6451ee32 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/SuggestedMediaModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/SuggestedMediaModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/TeamModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/TeamModel.java
index 81d5efc3..d83da900 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/TeamModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/TeamModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/TokenModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/TokenModel.java
index a29ab669..7536698c 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/TokenModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/TokenModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/UploadSessionModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/UploadSessionModel.java
index 8acaa474..49aa90c1 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/UploadSessionModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/UploadSessionModel.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceListModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceListModel.java
index 333b64d8..f7ef83f9 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceListModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceListModel.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.model;
public class WMEIceListModel {
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceModel.java
index 9a0c8b49..7061c2ca 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceModel.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.model;
import java.util.ArrayList;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceResultModel.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceResultModel.java
index 767b1470..3112d469 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceResultModel.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/model/WMEIceResultModel.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.model;
public class WMEIceResultModel {
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/BackgroundQueue.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/BackgroundQueue.java
index 096ce409..9a78d55c 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/BackgroundQueue.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/BackgroundQueue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/MainQueue.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/MainQueue.java
index ef43bb5c..32b6f142 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/MainQueue.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/MainQueue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/NamedRunnable.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/NamedRunnable.java
index 54d2bfc1..ab3b86f7 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/NamedRunnable.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/NamedRunnable.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.internal.queue;
public interface NamedRunnable extends Runnable {
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Operation.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Operation.java
index 80ea09a9..7778df4b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Operation.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Operation.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/OperationQueue.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/OperationQueue.java
index 734790ea..12cdb531 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/OperationQueue.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/OperationQueue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Queue.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Queue.java
index bd5e85b2..eb4dc12b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Queue.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Queue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/QueueWorker.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/QueueWorker.java
index 307ba1fe..b1340a72 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/QueueWorker.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/QueueWorker.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Scheduler.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Scheduler.java
index 02f989a5..fe72e146 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Scheduler.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/Scheduler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/SerialQueue.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/SerialQueue.java
index f5da68c5..efe4f532 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/SerialQueue.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/queue/SerialQueue.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/BackgroundChecker.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/BackgroundChecker.java
index 5dbbc5bb..d6a5a3e6 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/BackgroundChecker.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/BackgroundChecker.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/ForegroundChecker.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/ForegroundChecker.java
index 658e87ca..a5160963 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/ForegroundChecker.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/ForegroundChecker.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/NetworkConnectionStatus.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/NetworkConnectionStatus.java
index 86c5db2b..845fd1a6 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/NetworkConnectionStatus.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/NetworkConnectionStatus.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/NetworkReachability.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/NetworkReachability.java
index b9df769b..58fc9e88 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/NetworkReachability.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/NetworkReachability.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/ProxyHelpers.java b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/ProxyHelpers.java
index 5acf8321..4e089b5d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/ProxyHelpers.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/internal/reachability/ProxyHelpers.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/Membership.java b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/Membership.java
index 8059cbc3..a2f25bf9 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/Membership.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/Membership.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipClient.java b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipClient.java
index 770aa29e..04f159c4 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipClient.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipObserver.java b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipObserver.java
index ad69bd84..1309f297 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipObserver.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipObserver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipReadStatus.java b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipReadStatus.java
index 7ef8282a..b5bfd252 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipReadStatus.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/MembershipReadStatus.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/InternalMembership.java b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/InternalMembership.java
index 0218a1ca..59578a40 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/InternalMembership.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/InternalMembership.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/InternalMembershipReadStatus.java b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/InternalMembershipReadStatus.java
index aefe3c4c..9daaad71 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/InternalMembershipReadStatus.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/InternalMembershipReadStatus.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/MembershipClientImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/MembershipClientImpl.java
index d8d2bf2f..7244be7b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/MembershipClientImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/membership/internal/MembershipClientImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/Before.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/Before.java
index 502d3446..5b4a16c0 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/Before.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/Before.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.message;
import android.support.annotation.NonNull;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/LocalFile.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/LocalFile.java
index 7b67f8ac..14d45364 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/LocalFile.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/LocalFile.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.message;
import android.support.annotation.NonNull;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/Mention.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/Mention.java
index 768f9c97..ae4d8b93 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/Mention.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/Mention.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.message;
/**
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/Message.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/Message.java
index f310e9ba..9c1ba35e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/Message.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/Message.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/MessageClient.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/MessageClient.java
index 3640a7a5..6c7c9a55 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/MessageClient.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/MessageClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -33,7 +33,7 @@
import com.ciscowebex.androidsdk.utils.EmailAddress;
/**
- * MessageClient represents a client to the Webex Teams platform.
+ * MessageClient represents a client to the Webex platform.
* It can send and receive messages.
*
* Use {@link com.ciscowebex.androidsdk.Webex#messages()} to get an instance of MessageClient.
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/MessageObserver.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/MessageObserver.java
index 134548d1..c4aa4a98 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/MessageObserver.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/MessageObserver.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.message;
import com.ciscowebex.androidsdk.WebexEvent;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/RemoteFile.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/RemoteFile.java
index cad58e2a..96ad46e9 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/RemoteFile.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/RemoteFile.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.message;
/**
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/DownloadFileOperation.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/DownloadFileOperation.java
index 3da2d66c..a37bdc5f 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/DownloadFileOperation.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/DownloadFileOperation.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/DraftImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/DraftImpl.java
index f4ce7374..31866cdb 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/DraftImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/DraftImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/InternalMessage.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/InternalMessage.java
index 896faef5..2b764e40 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/InternalMessage.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/InternalMessage.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/MessageClientImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/MessageClientImpl.java
index 8b6e69ff..3432f68e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/MessageClientImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/MessageClientImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/RemoteFileImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/RemoteFileImpl.java
index d28d938f..4ce070eb 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/RemoteFileImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/RemoteFileImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/UploadFileOperations.java b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/UploadFileOperations.java
index 3070ab9a..2663cc2e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/UploadFileOperations.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/message/internal/UploadFileOperations.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/people/Person.java b/sdk/src/main/java/com/ciscowebex/androidsdk/people/Person.java
index eccff828..d156f0cd 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/people/Person.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/people/Person.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -157,7 +157,7 @@ public String getType() {
}
/**
- * @return The date and time of the person's last activity within Webex Teams.
+ * @return The date and time of the person's last activity within Webex.
* @since 2.1.1
*/
public String getLastActivity() {
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/people/PersonClient.java b/sdk/src/main/java/com/ciscowebex/androidsdk/people/PersonClient.java
index 23e9db4f..c5f8f17e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/people/PersonClient.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/people/PersonClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/people/internal/PersonClientImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/people/internal/PersonClientImpl.java
index 75ed1c6b..2a9be9e8 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/people/internal/PersonClientImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/people/internal/PersonClientImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/AdvancedSetting.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/AdvancedSetting.java
index 9127fe8c..69c47a3e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/AdvancedSetting.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/AdvancedSetting.java
@@ -1,8 +1,30 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.phone;
/**
* A AdvancedSetting represents a setting item for a call. Each subclass is a setting item.
- *
+ *
* These settings are for special use cases and usually do not need to be set.
*
* @see Phone#setAdvancedSetting(AdvancedSetting)
@@ -43,7 +65,7 @@ public String toString() {
}
/**
- * Enable or disable the video mosaic for error-concealment when data loss in network. The defaule is enable.
+ * Enable or disable the video mosaic for error-concealment when data loss in network. The default is enable.
*
* @since 2.6.0
*/
@@ -85,4 +107,20 @@ public VideoEnableCamera2(boolean value) {
super(value, defaultVaule);
}
}
+
+ /**
+ * Set the max screen capture fps for screen share for the call. If 0, default value of 5 is used.
+ * Range of this value is 1 to 10
+ * If set the value >5 and battery / CPU are not acceptable on the device, then should set the value <= 5.
+ *
+ * @since 2.7.0
+ */
+ public static class ShareMaxCaptureFPS extends AdvancedSetting {
+ public static int defaultValue = 0;
+
+ public ShareMaxCaptureFPS(int value) {
+ super(value, defaultValue);
+ }
+
+ }
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/AuxStream.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/AuxStream.java
index 6c034bec..bf232177 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/AuxStream.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/AuxStream.java
@@ -1,6 +1,27 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.phone;
-import android.graphics.Rect;
import android.util.Size;
import android.view.View;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/Call.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/Call.java
index 3e269d94..f28ed04c 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/Call.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/Call.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -29,6 +29,7 @@
import android.support.annotation.Nullable;
import android.util.Size;
+
import com.ciscowebex.androidsdk.CompletionHandler;
import android.view.View;
@@ -111,7 +112,7 @@ enum CallStatus {
*
* @since 2.4.0
*/
- enum WaitReason{
+ enum WaitReason {
/**
* Waiting in the lobby for the meeting to start.
*/
@@ -144,6 +145,30 @@ enum VideoRenderMode {
StretchFill
}
+ /**
+ * The options to switch audio output during a call.
+ *
+ * @since 2.7.0
+ */
+ enum AudioOutputMode {
+ /**
+ * The option to play audio through phone.
+ */
+ PHONE,
+ /**
+ * The option to play audio through headset(if connected).
+ */
+ HEADSET,
+ /**
+ * The option to play audio through speaker.
+ */
+ SPEAKER,
+ /**
+ * The option to play audio through bluetooth headset(if connected).
+ */
+ BLUETOOTH_HEADSET
+ }
+
/**
* @return The camera facing mode selected for this call.
* @since 0.1
@@ -411,12 +436,14 @@ enum VideoRenderMode {
/**
* Start content sharing.
+ *
* @since 1.4
*/
void startSharing(@NonNull CompletionHandler callback);
/**
* Stop content sharing.
+ *
* @since 1.4
*/
void stopSharing(@NonNull CompletionHandler callback);
@@ -510,4 +537,12 @@ enum VideoRenderMode {
*/
void letIn(@NonNull List memberships);
+ /**
+ * Switch the audio play output mode during a call.
+ *
+ * @param audioOutputMode the audio play output mode during a call.
+ * @since 2.7.0
+ */
+ void switchAudioOutput(AudioOutputMode audioOutputMode);
+
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallMembership.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallMembership.java
index e16cf88e..f522d265 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallMembership.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallMembership.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -22,12 +22,14 @@
package com.ciscowebex.androidsdk.phone;
+import android.support.annotation.Nullable;
+
/**
* A data type represents a relationship between *Call* and *Person* at Cisco Webex cloud.
*
* @since 0.1
*/
-public interface CallMembership {
+public interface CallMembership {
/**
* The enumeration of the status of the person in the membership.
@@ -138,4 +140,17 @@ enum State {
* @since 2.5.0
*/
boolean isActiveSpeaker();
+
+ /**
+ * @return True is the `CallMembership` is muted by other. Otherwise, false.
+ * @since 2.7.0
+ */
+ boolean isAudioMutedControlled();
+
+ /**
+ * @return The ID of the person who muted/unmuted this `CallMembership`
+ * @since 2.7.0
+ */
+ @Nullable
+ String audioModifiedBy();
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallObserver.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallObserver.java
index bb79214c..f701211c 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallObserver.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallObserver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -36,7 +36,8 @@ public interface CallObserver {
/**
* Callback when the call is waiting.
- * @param call Call.
+ *
+ * @param call Call.
* @param reason The reason why the call is waiting.
* @since 2.4.0
*/
@@ -628,11 +629,11 @@ public ActiveSpeakerChangedEvent(Call call, CallMembership from, CallMembership
_to = to;
}
- public CallMembership from(){
+ public CallMembership from() {
return _from;
}
- public CallMembership to(){
+ public CallMembership to() {
return _to;
}
@@ -762,11 +763,11 @@ public MembershipSendingSharingEvent(Call call, CallMembership membership) {
*
* @since 2.4.0
*/
- class MembershipWaitingEvent extends AbstractCallMembershipChangedEvent{
+ class MembershipWaitingEvent extends AbstractCallMembershipChangedEvent {
private Call.WaitReason waitReason;
- public MembershipWaitingEvent(Call call, CallMembership membership, Call.WaitReason waitReason){
+ public MembershipWaitingEvent(Call call, CallMembership membership, Call.WaitReason waitReason) {
super(call, membership);
this.waitReason = waitReason;
}
@@ -775,4 +776,16 @@ public Call.WaitReason getWaitReason() {
return waitReason;
}
}
+
+ /**
+ * This might be triggered when the person in the membership is muted by others in the meeting.
+ *
+ * @since 2.7.0
+ */
+ class MembershipAudioMutedControlledEvent extends AbstractCallMembershipChangedEvent {
+
+ public MembershipAudioMutedControlledEvent(Call call, CallMembership membership) {
+ super(call, membership);
+ }
+ }
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallSchedule.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallSchedule.java
index c99eb80e..18d3d611 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallSchedule.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/CallSchedule.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.phone;
import android.support.annotation.NonNull;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MediaOption.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MediaOption.java
index 2ef6c78b..c78d62c1 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MediaOption.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MediaOption.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MediaRenderView.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MediaRenderView.java
index 0f9d693d..dd7ef429 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MediaRenderView.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MediaRenderView.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MultiStreamObserver.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MultiStreamObserver.java
index 1e3bb8c1..62c34c12 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MultiStreamObserver.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/MultiStreamObserver.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.phone;
import android.view.View;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/Phone.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/Phone.java
index c9868221..09c541c8 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/Phone.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/Phone.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -142,6 +142,31 @@ enum H264LicenseAction {
VIEW_LICENSE
}
+ /**
+ * The enumeration of audio BNR mode choices, default is HP.
+ *
+ * @since 2.7.0
+ */
+ enum AudioBRNMode {
+ /**
+ * Low Power mode.
+ */
+ LP(0),
+ /**
+ * High Performance mode.
+ */
+ HP(1);
+ private final int value;
+
+ AudioBRNMode(int value) {
+ this.value = value;
+ }
+
+ public int getValue() {
+ return value;
+ }
+ }
+
/**
* The interface for a listener for incoming call
*
@@ -435,7 +460,7 @@ interface IncomingCallListener {
/**
* Set advanced setings for call. Only effective if set before the start of call.
- *
+ *
* For example, Phone.setAdvancedSetting(new VideoMaxTxFPS(30));
*
* @see AdvancedSetting
@@ -445,7 +470,7 @@ interface IncomingCallListener {
/**
* Returns value of the advanced seting that has been set.
- *
+ *
* For example, AdvancedSetting setting = Phone.getAdvancedSetting(VideoMaxTxFPS.class);
*
* @see AdvancedSetting
@@ -459,4 +484,38 @@ interface IncomingCallListener {
* @since 2.6.0
*/
void cancel();
+
+ /**
+ * Enable audio background noise removal. Default is false
+ *
+ * @param enable true to open audio background noise removal, else will close. Default is false.
+ * @since 2.7.0
+ */
+ void enableAudioBNR(boolean enable);
+
+ /**
+ * True if audio background noise removal is open, otherwise false.
+ *
+ * @return true if audio background noise removal is open, otherwise false.
+ * @since 2.7.0
+ */
+ boolean isAudioBNREnable();
+
+ /**
+ * Set the audio background noise removal mode, default value is {@link AudioBRNMode#HP}.
+ * This method only effective if set {@link Phone#enableAudioBNR(boolean)} to true.
+ *
+ * @param mode the audio background noise removal mode.
+ * @since 2.7.0
+ */
+ void setAudioBNRMode(AudioBRNMode mode);
+
+ /**
+ * Return the audio background noise removal mode.
+ *
+ * @return the audio background noise removal mode.
+ * @see AudioBRNMode
+ * @since 2.7.0
+ */
+ AudioBRNMode getAudioBNRMode();
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/AuxStreamImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/AuxStreamImpl.java
index 015e0077..7156b68e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/AuxStreamImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/AuxStreamImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallContext.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallContext.java
index 433ee89c..0fb0ff82 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallContext.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallContext.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallImpl.java
index d6cd6e93..7bfade15 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -27,25 +27,50 @@
import android.util.Pair;
import android.util.Size;
import android.view.View;
+
import com.ciscowebex.androidsdk.CompletionHandler;
import com.ciscowebex.androidsdk.WebexError;
+import com.ciscowebex.androidsdk.internal.Device;
import com.ciscowebex.androidsdk.internal.media.WMEngine;
import com.ciscowebex.androidsdk.internal.metric.CallAnalyzerReporter;
+import com.ciscowebex.androidsdk.internal.model.FloorModel;
+import com.ciscowebex.androidsdk.internal.model.LocusModel;
+import com.ciscowebex.androidsdk.internal.model.LocusParticipantModel;
+import com.ciscowebex.androidsdk.internal.model.LocusScheduledMeetingModel;
+import com.ciscowebex.androidsdk.internal.model.LocusSelfModel;
+import com.ciscowebex.androidsdk.internal.model.LocusSequenceModel;
+import com.ciscowebex.androidsdk.internal.model.MediaConnectionModel;
+import com.ciscowebex.androidsdk.internal.model.MediaShareModel;
import com.ciscowebex.androidsdk.internal.queue.NamedRunnable;
import com.ciscowebex.androidsdk.internal.queue.Queue;
import com.ciscowebex.androidsdk.internal.queue.Scheduler;
-import com.ciscowebex.androidsdk.internal.Device;
-import com.ciscowebex.androidsdk.internal.model.*;
-import com.ciscowebex.androidsdk.phone.*;
+import com.ciscowebex.androidsdk.phone.AuxStream;
+import com.ciscowebex.androidsdk.phone.Call;
+import com.ciscowebex.androidsdk.phone.CallMembership;
+import com.ciscowebex.androidsdk.phone.CallObserver;
+import com.ciscowebex.androidsdk.phone.CallSchedule;
+import com.ciscowebex.androidsdk.phone.MediaOption;
+import com.ciscowebex.androidsdk.phone.MultiStreamObserver;
+import com.ciscowebex.androidsdk.phone.Phone;
import com.ciscowebex.androidsdk.utils.Lists;
import com.ciscowebex.androidsdk.utils.WebexId;
import com.github.benoitdion.ln.Ln;
-import me.helloworld.utils.Checker;
-import me.helloworld.utils.Objects;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.TimerTask;
+import java.util.TreeSet;
import java.util.concurrent.atomic.AtomicInteger;
+import me.helloworld.utils.Checker;
+import me.helloworld.utils.Objects;
+
public class CallImpl implements Call {
private final PhoneImpl phone;
@@ -54,7 +79,8 @@ public class CallImpl implements Call {
private final boolean group;
private final String correlationId;
- private @Nullable MediaSession media;
+ private @Nullable
+ MediaSession media;
private CallObserver observer;
private MultiStreamObserver streamObserver;
private CallStatus status = CallStatus.INITIATED;
@@ -116,7 +142,8 @@ public long getConnectedTime() {
return connectedTime;
}
- public @Nullable MediaSession getMedia() {
+ public @Nullable
+ MediaSession getMedia() {
return media;
}
@@ -224,7 +251,7 @@ public CallMembership getTo() {
@Override
public Set getSchedules() {
synchronized (this) {
- return schedules == null ? null : Collections.unmodifiableSet(schedules);
+ return schedules == null ? null : Collections.unmodifiableSet(schedules);
}
}
@@ -288,8 +315,7 @@ public void setSendingVideo(boolean sending) {
}
if (sending) {
CallAnalyzerReporter.shared.reportUnmuted(this, WMEngine.Media.Video);
- }
- else {
+ } else {
CallAnalyzerReporter.shared.reportMuted(this, WMEngine.Media.Video);
}
}
@@ -307,8 +333,7 @@ public void setSendingAudio(boolean sending) {
}
if (sending) {
CallAnalyzerReporter.shared.reportUnmuted(this, WMEngine.Media.Audio);
- }
- else {
+ } else {
CallAnalyzerReporter.shared.reportMuted(this, WMEngine.Media.Audio);
}
}
@@ -618,6 +643,15 @@ public void letIn(@NonNull List memberships) {
});
}
+ @Override
+ public void switchAudioOutput(AudioOutputMode audioOutputMode) {
+ if (media != null && media.getMediaDeviceManager() != null && media.getMediaDeviceManager().getAudioDeviceConnectionManager() != null) {
+ media.getMediaDeviceManager()
+ .getAudioDeviceConnectionManager()
+ .toggleAudioOutput(audioOutputMode);
+ }
+ }
+
void startMedia() {
if (media == null) {
return;
@@ -945,7 +979,7 @@ && isSharingByModel(current)
Ln.d("CallImpl.doFloorUpdate: share type or resource url or sharing device changed, leave and join sharing");
leaveSharing(old.getGrantedFloor().getBeneficiary(), old.getGrantedFloor().getGranted(), old);
joinSharing(current.getGrantedFloor().getBeneficiary(), current.getGrantedFloor().getGranted());
- if (isMySharingReplaced){
+ if (isMySharingReplaced) {
Ln.d("CallImpl.doFloorUpdate: my sharing replaced by other's, join sharing");
joinSharing(current.getGrantedFloor().getBeneficiary(), current.getGrantedFloor().getGranted());
}
@@ -1004,11 +1038,13 @@ void doLocusModel(LocusModel model) {
events.add(new CallObserver.MembershipSendingAudioEvent(this, membership));
events.add(new CallObserver.MembershipSendingVideoEvent(this, membership));
events.add(new CallObserver.MembershipSendingSharingEvent(this, membership));
+ events.add(new CallObserver.MembershipAudioMutedControlledEvent(this, membership));
} else {
CallMembership.State oldState = membership.getState();
boolean tempSendingAudio = membership.isSendingAudio();
boolean tempSendingVideo = membership.isSendingVideo();
boolean tempSendingSharing = membership.isSendingSharing();
+ boolean tempAudioMutedControlled = membership.isAudioMutedControlled();
membership.setModel(participant);
if (membership.getState() != oldState) {
events.addAll(generateMembershipEvents(membership));
@@ -1022,6 +1058,9 @@ void doLocusModel(LocusModel model) {
if (membership.isSendingSharing() != tempSendingSharing) {
events.add(new CallObserver.MembershipSendingSharingEvent(this, membership));
}
+ if (membership.isAudioMutedControlled() != tempAudioMutedControlled) {
+ events.add(new CallObserver.MembershipAudioMutedControlledEvent(this, membership));
+ }
}
newMemberships.add(membership);
}
@@ -1264,8 +1303,7 @@ public void run() {
};
if (media == null || !media.isRunning()) {
peddingTasks.add(runnable);
- }
- else {
+ } else {
runnable.run();
}
});
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallMembershipImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallMembershipImpl.java
index bf488774..153cc071 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallMembershipImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallMembershipImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -22,16 +22,21 @@
package com.ciscowebex.androidsdk.phone.internal;
-import com.ciscowebex.androidsdk.internal.model.*;
+import com.ciscowebex.androidsdk.internal.model.FloorModel;
+import com.ciscowebex.androidsdk.internal.model.LocusMediaDirection;
+import com.ciscowebex.androidsdk.internal.model.LocusModel;
+import com.ciscowebex.androidsdk.internal.model.LocusParticipantModel;
import com.ciscowebex.androidsdk.phone.CallMembership;
import com.ciscowebex.androidsdk.utils.WebexId;
import com.github.benoitdion.ln.Ln;
-import me.helloworld.utils.Checker;
import org.jetbrains.annotations.NotNull;
+import org.jetbrains.annotations.Nullable;
import java.util.List;
+import me.helloworld.utils.Checker;
+
public class CallMembershipImpl implements CallMembership {
private static CallMembership.State fromLocusState(LocusParticipantModel.State state, boolean isInLobby) {
@@ -65,7 +70,7 @@ private static CallMembership.State fromLocusState(LocusParticipantModel.State s
CallMembershipImpl(LocusParticipantModel participant, CallImpl call) {
this.call = call;
setModel(participant);
- Ln.d("CallMembership: " + getId() + " person: " + getPersonId() + " email: " + getEmail() + " video: " + isSendingVideo() + " audio: " + isSendingAudio());
+ Ln.d("CallMembership: " + getId() + " person: " + getPersonId() + " email: " + getEmail() + " video: " + isSendingVideo() + " audio: " + isSendingAudio());
}
public String getId() {
@@ -120,6 +125,24 @@ public boolean isActiveSpeaker() {
return Checker.isEqual(getId(), ((CallMembershipImpl) call.getActiveSpeaker()).getId());
}
+ @Override
+ public boolean isAudioMutedControlled() {
+ return model.isAudioRemotelyMuted();
+ }
+
+ @Override
+ @Nullable
+ public String audioModifiedBy() {
+ String personId = null;
+ if (model.getControls() != null && model.getControls().getAudio() != null && model.getControls().getAudio().getMeta() != null) {
+ personId = model.getControls().getAudio().getMeta().getModifiedBy();
+ }
+ if (personId != null) {
+ personId = new WebexId(WebexId.Type.PEOPLE, WebexId.DEFAULT_CLUSTER, personId).getBase64Id();
+ }
+ return personId;
+ }
+
public LocusParticipantModel getModel() {
synchronized (this) {
return model;
@@ -149,7 +172,7 @@ public String toString() {
+ " isSelf: " + isSelf()
+ " person: " + getPersonId()
+ " email: " + getEmail()
- + " video: " + isSendingVideo()
+ + " video: " + isSendingVideo()
+ " audio: " + isSendingAudio();
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallService.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallService.java
index eb7a84c8..f58f307b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallService.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/CallService.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -24,7 +24,9 @@
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+
import com.ciscowebex.androidsdk.CompletionHandler;
+import com.ciscowebex.androidsdk.Result;
import com.ciscowebex.androidsdk.auth.Authenticator;
import com.ciscowebex.androidsdk.internal.*;
import com.ciscowebex.androidsdk.internal.model.*;
@@ -38,6 +40,7 @@
import com.ciscowebex.androidsdk.utils.Lists;
import com.ciscowebex.androidsdk.utils.WebexId;
import com.github.benoitdion.ln.Ln;
+
import me.helloworld.utils.Checker;
import me.helloworld.utils.collection.Maps;
@@ -258,12 +261,44 @@ public void get(@NonNull String callUrl, @NonNull CompletionHandler
}
public void list(@Nullable Device device, @NonNull CompletionHandler> callback) {
- Service.Locus.homed(device).get("loci")
- .auth(authenticator)
+ listLoci(device, null, new CompletionHandler() {
+ private List loci = new ArrayList<>();
+
+ @Override
+ public void onComplete(Result result) {
+ if (result.isSuccessful()) {
+ LocusListResponseModel model = result.getData();
+ if (model == null || model.getLoci() == null) {
+ callback.onComplete(ResultImpl.success(loci));
+ } else {
+ loci.addAll(model.getLoci());
+ List remoteLocusClusterUrls = model.getRemoteLocusClusterUrls();
+ if (remoteLocusClusterUrls != null && !remoteLocusClusterUrls.isEmpty()) {
+ String url = remoteLocusClusterUrls.get(0);
+ listLoci(null, url, this);
+ } else {
+ callback.onComplete(ResultImpl.success(loci));
+ }
+ }
+ } else {
+ callback.onComplete(ResultImpl.error(result));
+ }
+ }
+ });
+ }
+
+ private void listLoci(@Nullable Device device, @Nullable String url, @NonNull CompletionHandler callback) {
+ ServiceReqeust serviceReqeust;
+ if (url != null) {
+ serviceReqeust = new ServiceReqeust(url).get();
+ } else {
+ serviceReqeust = Service.Locus.homed(device).get("loci");
+ }
+ serviceReqeust.auth(authenticator)
.queue(Queue.main)
.model(LocusListResponseModel.class)
.error(callback)
- .async((Closure) model -> callback.onComplete(ResultImpl.success(model == null ? Collections.emptyList() : model.getLoci())));
+ .async((Closure) model -> callback.onComplete(ResultImpl.success(model)));
}
public void admit(@NonNull String url, @NonNull List memberships, @NonNull CompletionHandler callback) {
@@ -350,8 +385,7 @@ private Object makeBody(String correlationId, Device device, String sdp, String
if (option.getPin() != null) {
json.put("pin", option.getPin());
}
- }
- else {
+ } else {
json.put("invitee", Maps.makeMap("address", callee));
json.put("supportsNativeLobby", true);
json.put("moderator", false);
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/H264LicensePrompter.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/H264LicensePrompter.java
index 6e7ea75f..fd6ed197 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/H264LicensePrompter.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/H264LicensePrompter.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -86,11 +86,11 @@ void showUI(@NonNull AlertDialog.Builder builder, @NonNull CompletionHandler calls = new HashMap<>();
+ private List activeSpaceIds = new ArrayList<>();
private CallContext callContext;
private final CallService service;
private final ReachabilityService reachability;
@@ -92,6 +123,8 @@ enum State {
private List audioEnhancementModels = null;
private Map, AdvancedSetting> settings = new HashMap<>();
private boolean enableBackgroundStream = false;
+ private boolean enableAudioBNR = false;
+ private AudioBRNMode audioBRNMode = AudioBRNMode.HP;
private String uuid = UUID.randomUUID().toString();
private boolean canceled = false;
@@ -325,12 +358,10 @@ public void dial(@NonNull String dialString, @NonNull MediaOption option, @NonNu
Queue.main.run(this::tryAcquirePermission);
Queue.serial.yield();
});
- }
- else if (action == H264LicenseAction.DECLINE) {
+ } else if (action == H264LicenseAction.DECLINE) {
Ln.d("Decline H264 license");
ResultImpl.errorInMain(callback, WebexError.from(WebexError.ErrorCode.DECLINE_H264_LICENSE));
- }
- else if (action == H264LicenseAction.VIEW_LICENSE) {
+ } else if (action == H264LicenseAction.VIEW_LICENSE) {
Ln.d("View H264 license");
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(H264LicensePrompter.LICENSE_URL));
browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
@@ -386,7 +417,7 @@ public void onMediaPermission(boolean permission) {
String correlationId = UUID.randomUUID().toString();
//CallAnalyzerReporter.shared.reportJoinRequest(correlationId, null);
if (target instanceof CallService.CallableTarget) {
- service.call(((CallService.CallableTarget) target).getCallee(), outgoing.getOption(), correlationId, device, localSdp,reachabilities, callResult -> {
+ service.call(((CallService.CallableTarget) target).getCallee(), outgoing.getOption(), correlationId, device, localSdp, reachabilities, callResult -> {
if (callResult.getError() != null || callResult.getData() == null) {
Queue.main.run(() -> outgoing.getCallback().onComplete(ResultImpl.error(callResult.getError())));
Queue.serial.yield();
@@ -395,7 +426,7 @@ public void onMediaPermission(boolean permission) {
}
doLocusResponse(new LocusResponse.Call(device, correlationId, session, callResult.getData(), outgoing.getCallback()), Queue.serial);
});
- } else if (target instanceof CallService.JoinableTarget){
+ } else if (target instanceof CallService.JoinableTarget) {
service.getOrCreatePermanentLocus(((CallService.JoinableTarget) target).getConversation(), device, convResult -> {
if (this.canceled) {
this.canceled = false;
@@ -419,8 +450,7 @@ public void onMediaPermission(boolean permission) {
doLocusResponse(new LocusResponse.Call(device, correlationId, session, joinResult.getData(), outgoing.getCallback()), Queue.serial);
});
});
- }
- else {
+ } else {
Ln.e("Cannot find dial target: " + outgoing.getTarget());
Queue.main.run(() -> outgoing.getCallback().onComplete(ResultImpl.error("Cannot find dial target: " + outgoing.getTarget())));
Queue.serial.yield();
@@ -536,6 +566,26 @@ public void cancel() {
this.canceled = true;
}
+ @Override
+ public void enableAudioBNR(boolean enable) {
+ this.enableAudioBNR = enable;
+ }
+
+ @Override
+ public boolean isAudioBNREnable() {
+ return enableAudioBNR;
+ }
+
+ @Override
+ public void setAudioBNRMode(AudioBRNMode mode) {
+ this.audioBRNMode = mode;
+ }
+
+ @Override
+ public AudioBRNMode getAudioBNRMode() {
+ return audioBRNMode;
+ }
+
@Override
public void requestVideoCodecActivation(@NonNull AlertDialog.Builder builder, @Nullable CompletionHandler callback) {
this.prompter.check(getContext(), builder, result -> {
@@ -544,8 +594,7 @@ public void requestVideoCodecActivation(@NonNull AlertDialog.Builder builder, @N
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(H264LicensePrompter.LICENSE_URL));
this.getContext().startActivity(browserIntent);
}
- }
- else {
+ } else {
callback.onComplete(result);
}
});
@@ -753,14 +802,13 @@ void answer(CallImpl call, MediaOption option, CompletionHandler callback)
Queue.main.run(this::tryAcquirePermission);
Queue.serial.yield();
});
- }
- else if (action == H264LicenseAction.DECLINE) {
+ } else if (action == H264LicenseAction.DECLINE) {
Ln.d("Decline H264 license");
ResultImpl.errorInMain(callback, WebexError.from(WebexError.ErrorCode.DECLINE_H264_LICENSE));
- }
- else if (action == H264LicenseAction.VIEW_LICENSE) {
+ } else if (action == H264LicenseAction.VIEW_LICENSE) {
Ln.d("View H264 license");
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(H264LicensePrompter.LICENSE_URL));
+ browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
this.getContext().startActivity(browserIntent);
ResultImpl.errorInMain(callback, WebexError.from(WebexError.ErrorCode.VIEW_H264_LICENSE));
}
@@ -833,8 +881,7 @@ void hangup(CallImpl call, CompletionHandler callback) {
if (error != null) {
if (error.is(WebexError.ErrorCode.CONFLICT_ERROR) || error.is(WebexError.ErrorCode.NETWORK_ERROR)) {
call.end(new CallObserver.CallErrorEvent(call, error));
- }
- else {
+ } else {
Queue.main.run(() -> callback.onComplete(ResultImpl.error(error)));
Queue.serial.yield();
return;
@@ -853,8 +900,7 @@ void layout(CallImpl call, MediaOption.VideoLayout layout) {
if (url == null) {
Ln.e("Missing self participant URL");
Queue.serial.yield();
- }
- else {
+ } else {
service.layout(url, device, layout, result -> Queue.serial.yield());
}
});
@@ -1128,6 +1174,17 @@ private void doLocusEvent(LocusModel model) {
Ln.d("doLocusEvent: " + url);
//CallAnalyzerReporter.shared.reportClientNotificationReceived(model.getKey(), true);
Queue.serial.run(() -> {
+ if (!model.isOneOnOne() && model.isValid() && model.getConversationUrl() != null) {
+ String spaceId = WebexId.from(model.getConversationUrl(), device).getBase64Id();
+ if (!activeSpaceIds.contains(spaceId) && model.getFullState() != null && model.getFullState().isActive()) {
+ fire(new InternalSpace.InternalSpaceCallStarted(spaceId, model));
+ activeSpaceIds.add(spaceId);
+ }
+ if (activeSpaceIds.contains(spaceId) && model.getFullState() != null && !model.getFullState().isActive()) {
+ fire(new InternalSpace.InternalSpaceCallEnded(spaceId, model));
+ activeSpaceIds.remove(spaceId);
+ }
+ }
CallImpl call = calls.get(url);
if (call == null) {
if (device != null && model.isIncomingCall() && model.isValid()) {
@@ -1176,51 +1233,42 @@ private void doActivityEvent(ActivityModel activity) {
&& object != null && object.isPerson()
&& target != null && target.isConversation()) {
fire(new InternalMembership.InternalMembershipCreated(new InternalMembership(activity, clusterId), activity));
- }
- else if (verb == ActivityModel.Verb.leave
+ } else if (verb == ActivityModel.Verb.leave
&& (object == null || object.isPerson())
&& target != null && target.isConversation()) {
fire(new InternalMembership.InternalMembershipDeleted(new InternalMembership(activity, clusterId), activity));
- }
- else if ((activity.getVerb() == ActivityModel.Verb.assignModerator || activity.getVerb() == ActivityModel.Verb.unassignModerator)
+ } else if ((activity.getVerb() == ActivityModel.Verb.assignModerator || activity.getVerb() == ActivityModel.Verb.unassignModerator)
&& object != null && object.isPerson()
&& target != null && target.isConversation()) {
fire(new InternalMembership.InternalMembershipUpdated(new InternalMembership(activity, clusterId), activity));
- }
- else if (activity.getVerb() == ActivityModel.Verb.acknowledge
+ } else if (activity.getVerb() == ActivityModel.Verb.acknowledge
&& object != null && object.isActivity() && object.getId() != null
&& target != null && target.isConversation()) {
fire(new InternalMembership.InternalMembershipMessageSeen(new InternalMembership(activity, clusterId), activity, new WebexId(WebexId.Type.MESSAGE, clusterId, object.getId()).getBase64Id()));
- }
- else if (activity.getVerb() == ActivityModel.Verb.create
+ } else if (activity.getVerb() == ActivityModel.Verb.create
&& object != null && object.isConversation() && object.getId() != null) {
String base64Id = new WebexId(WebexId.Type.ROOM, clusterId, object.getId()).getBase64Id();
- webex.spaces().get(base64Id, result -> fire(result.getData() == null ? null : new InternalSpace.InternalSpaceCeated(result.getData(), activity)));
- }
- else if (activity.getVerb() == ActivityModel.Verb.update
+ webex.spaces().get(base64Id, result -> fire(result.getData() == null ? null : new InternalSpace.InternalSpaceCreated(result.getData(), activity)));
+ } else if (activity.getVerb() == ActivityModel.Verb.update
&& object != null && object.isConversation()
&& target != null && target.isConversation() && target.getId() != null) {
String base64Id = new WebexId(WebexId.Type.ROOM, clusterId, object.getId()).getBase64Id();
webex.spaces().get(base64Id, result -> fire(result.getData() == null ? null : new InternalSpace.InternalSpaceUpdated(result.getData(), activity)));
- }
- else if ((activity.getVerb() == ActivityModel.Verb.post || activity.getVerb() == ActivityModel.Verb.share)
+ } else if ((activity.getVerb() == ActivityModel.Verb.post || activity.getVerb() == ActivityModel.Verb.share)
&& activity.getConversationId() != null && activity.getConversationUrl() != null) {
((MessageClientImpl) webex.messages()).doMessageReveived(activity, clusterId, message -> {
fire(new InternalMessage.InternalMessageReceived(message, activity));
// TODO Remove the deprecated event in next big release
fire(new InternalMessage.InternalMessageArrived(message, activity));
});
- }
- else if (activity.getVerb() == ActivityModel.Verb.update
+ } else if (activity.getVerb() == ActivityModel.Verb.update
&& activity.getConversationId() != null && activity.getConversationUrl() != null
&& object != null && object.isContent() && object.getId() != null) {
((MessageClientImpl) webex.messages()).doMessageUpdated(activity, this::fire);
- }
- else if (activity.getVerb() == ActivityModel.Verb.delete
+ } else if (activity.getVerb() == ActivityModel.Verb.delete
&& object != null && object.isActivity() && object.getId() != null) {
fire(new InternalMessage.InternalMessageDeleted(((MessageClientImpl) webex.messages()).doMessageDeleted(object.getId(), clusterId), activity));
- }
- else {
+ } else {
Ln.d("Not a valid activity: " + url);
}
}
@@ -1229,11 +1277,9 @@ private void fire(WebexEvent event) {
Queue.main.run(() -> {
if (event instanceof MembershipObserver.MembershipEvent && membershipObserver != null) {
membershipObserver.onEvent((MembershipObserver.MembershipEvent) event);
- }
- else if (event instanceof SpaceObserver.SpaceEvent && spaceObserver != null) {
+ } else if (event instanceof SpaceObserver.SpaceEvent && spaceObserver != null) {
spaceObserver.onEvent((SpaceObserver.SpaceEvent) event);
- }
- else if (event instanceof MessageObserver.MessageEvent && messageObserver != null) {
+ } else if (event instanceof MessageObserver.MessageEvent && messageObserver != null) {
messageObserver.onEvent((MessageObserver.MessageEvent) event);
}
});
@@ -1277,6 +1323,8 @@ private MediaCapability createCapability() {
capability.setHardwareCodecEnable(isHardwareAccelerationEnabled());
capability.setHardwareVideoSetting(getHardwareVideoSettings());
capability.setAudioEnhancementModels(audioEnhancementModels);
+ capability.setEnableAudioBNR(isAudioBNREnable());
+ capability.setAudioBRNMode(getAudioBNRMode());
if (device != null) {
capability.setDeviceSettings(device.getDeviceSettings());
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/ReachabilityService.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/ReachabilityService.java
index ba72de60..700c2f61 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/ReachabilityService.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/ReachabilityService.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.phone.internal;
import com.ciscowebex.androidsdk.CompletionHandler;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/RegisterOperation.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/RegisterOperation.java
index 20dde942..f19d2d0a 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/RegisterOperation.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/RegisterOperation.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/UIEventHandler.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/UIEventHandler.java
index 07a26181..9bf7eab4 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/UIEventHandler.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/UIEventHandler.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/UnregisterOperation.java b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/UnregisterOperation.java
index 44782f24..940efeb0 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/UnregisterOperation.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/phone/internal/UnregisterOperation.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/space/Space.java b/sdk/src/main/java/com/ciscowebex/androidsdk/space/Space.java
index 0bd4dd11..57133bbf 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/space/Space.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/space/Space.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceClient.java b/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceClient.java
index 3f558f4f..d7d033ec 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceClient.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceMeetingInfo.java b/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceMeetingInfo.java
index 941cb8a9..a71cc46f 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceMeetingInfo.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceMeetingInfo.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceObserver.java b/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceObserver.java
index 9bb34511..5b811941 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceObserver.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceObserver.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -24,6 +24,7 @@
import com.ciscowebex.androidsdk.WebexEvent;
import com.ciscowebex.androidsdk.internal.model.ActivityModel;
+import com.ciscowebex.androidsdk.internal.model.LocusModel;
/**
* Callback to receive the events from a {@link SpaceClient}.
@@ -73,13 +74,59 @@ protected SpaceUpdated(Space space, ActivityModel activity) {
/**
* Returns the changed space.
- *
*/
public Space getSpace() {
return space;
}
}
+ /**
+ * The event when a space call started.
+ *
+ * @since 2.7.0
+ */
+ class SpaceCallStarted extends WebexEvent.Base implements SpaceEvent {
+
+ private String spaceId;
+
+ protected SpaceCallStarted(String spaceId, LocusModel locus) {
+ super(locus);
+ this.spaceId = spaceId;
+ }
+
+ /**
+ * Return the space ID.
+ *
+ * @return the space ID.
+ */
+ public String getSpaceId() {
+ return spaceId;
+ }
+ }
+
+ /**
+ * The event when a space call ended.
+ *
+ * @since 2.7.0
+ */
+ class SpaceCallEnded extends WebexEvent.Base implements SpaceEvent {
+ private String spaceId;
+
+ protected SpaceCallEnded(String spaceId, LocusModel locus) {
+ super(locus);
+ this.spaceId = spaceId;
+ }
+
+ /**
+ * Return the space ID.
+ *
+ * @return the space ID.
+ */
+ public String getSpaceId() {
+ return spaceId;
+ }
+ }
+
/**
* Invoked when there is a new {@link SpaceEvent}.
*
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceReadStatus.java b/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceReadStatus.java
index dd6311e0..bc1c5b34 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceReadStatus.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/space/SpaceReadStatus.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/InternalSpace.java b/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/InternalSpace.java
index fd38f8e5..6944f9ef 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/InternalSpace.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/InternalSpace.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -23,13 +23,14 @@
package com.ciscowebex.androidsdk.space.internal;
import com.ciscowebex.androidsdk.internal.model.ActivityModel;
+import com.ciscowebex.androidsdk.internal.model.LocusModel;
import com.ciscowebex.androidsdk.space.Space;
import com.ciscowebex.androidsdk.space.SpaceObserver;
public class InternalSpace extends Space {
- public static class InternalSpaceCeated extends SpaceObserver.SpaceCreated {
- public InternalSpaceCeated(Space space, ActivityModel activity) {
+ public static class InternalSpaceCreated extends SpaceObserver.SpaceCreated {
+ public InternalSpaceCreated(Space space, ActivityModel activity) {
super(space, activity);
}
}
@@ -39,4 +40,16 @@ public InternalSpaceUpdated(Space space, ActivityModel activity) {
super(space, activity);
}
}
+
+ public static class InternalSpaceCallStarted extends SpaceObserver.SpaceCallStarted {
+ public InternalSpaceCallStarted(String spaceId, LocusModel locus) {
+ super(spaceId, locus);
+ }
+ }
+
+ public static class InternalSpaceCallEnded extends SpaceObserver.SpaceCallEnded {
+ public InternalSpaceCallEnded(String spaceId, LocusModel locus) {
+ super(spaceId, locus);
+ }
+ }
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/InternalSpaceReadStatus.java b/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/InternalSpaceReadStatus.java
index 844d7f15..bb3611d4 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/InternalSpaceReadStatus.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/InternalSpaceReadStatus.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/SpaceClientImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/SpaceClientImpl.java
index 1b8b24bf..ef401a6e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/SpaceClientImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/space/internal/SpaceClientImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/team/Team.java b/sdk/src/main/java/com/ciscowebex/androidsdk/team/Team.java
index 9eda88c9..dade3bb1 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/team/Team.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/team/Team.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamClient.java b/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamClient.java
index 66bc359f..f1a0702d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamClient.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamMembership.java b/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamMembership.java
index 9c07cecf..c50be623 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamMembership.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamMembership.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamMembershipClient.java b/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamMembershipClient.java
index a2dc050a..f856455b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamMembershipClient.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/team/TeamMembershipClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/team/internal/TeamClientImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/team/internal/TeamClientImpl.java
index 66a0d7f2..345de763 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/team/internal/TeamClientImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/team/internal/TeamClientImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/team/internal/TeamMembershipClientImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/team/internal/TeamMembershipClientImpl.java
index 802d96c9..025223e7 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/team/internal/TeamMembershipClientImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/team/internal/TeamMembershipClientImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/DateUtils.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/DateUtils.java
index 20eb581c..3d96ce61 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/DateUtils.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/DateUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/EmailAddress.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/EmailAddress.java
index bbe3a630..8627e25b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/EmailAddress.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/EmailAddress.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/ExpirableCache.kt b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/ExpirableCache.kt
index 81db0b0f..3e37b96f 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/ExpirableCache.kt
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/ExpirableCache.kt
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.utils
import java.util.*
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/GiphyUtils.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/GiphyUtils.java
index cba57b19..fe3a3f6b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/GiphyUtils.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/GiphyUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Json.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Json.java
index 316e3b46..eaa7f811 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Json.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Json.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Lists.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Lists.java
index cb359b14..ab6aac77 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Lists.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Lists.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/LoggingLock.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/LoggingLock.java
index 8b9ced7c..b9a787af 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/LoggingLock.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/LoggingLock.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.utils;
import android.annotation.SuppressLint;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Metadata.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Metadata.java
index 1237ed9c..e8a67656 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Metadata.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Metadata.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/MimeUtils.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/MimeUtils.java
index 476cf2c9..274509fb 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/MimeUtils.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/MimeUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/NetworkUtils.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/NetworkUtils.java
index 1511a24c..70d34a61 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/NetworkUtils.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/NetworkUtils.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.utils;
import android.support.annotation.Nullable;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/PSUtils.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/PSUtils.java
index ea6a5220..e6e7e19b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/PSUtils.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/PSUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/TrackingIdGenerator.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/TrackingIdGenerator.java
index 22acd463..7319043b 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/TrackingIdGenerator.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/TrackingIdGenerator.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/UriUtils.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/UriUtils.java
index d68548ca..467519b4 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/UriUtils.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/UriUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/UserAgent.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/UserAgent.java
index 837320f6..febdec7d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/UserAgent.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/UserAgent.java
@@ -1,3 +1,25 @@
+/*
+ * Copyright 2016-2021 Cisco Systems Inc
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
package com.ciscowebex.androidsdk.utils;
import android.os.Build;
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Utils.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Utils.java
index 34eb3131..c4c43d7d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Utils.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/Utils.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/WebexId.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/WebexId.java
index b7a84611..e2cfb79d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/WebexId.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/WebexId.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/ContentDownloadMonitor.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/ContentDownloadMonitor.java
index 4ac099a6..db8c8351 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/ContentDownloadMonitor.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/ContentDownloadMonitor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/CountedTypedOutput.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/CountedTypedOutput.java
index f73e1957..f4599c28 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/CountedTypedOutput.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/CountedTypedOutput.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/DefaultHeadersInterceptor.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/DefaultHeadersInterceptor.java
index c67a974f..8aee79c5 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/DefaultHeadersInterceptor.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/DefaultHeadersInterceptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -35,12 +35,18 @@ public class DefaultHeadersInterceptor implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
- okhttp3.Request.Builder requestBuilder = chain.request().newBuilder()
- .addHeader("Accept", "application/json")
+ okhttp3.Request.Builder requestBuilder = chain.request().newBuilder();
+ requestBuilder.addHeader("Accept", "application/json")
.header("User-Agent", UserAgent.value)
.header("Spark-User-Agent", UserAgent.value)
.header("Content-Type", "application/json; charset=utf-8")
.header(ServiceReqeust.HEADER_TRACKING_ID, TrackingIdGenerator.shared.nextTrackingId());
+ String url = chain.request().url().toString();
+ if (!url.contains("wbx2.com") && !url.contains("ciscospark.com") && !url.contains("webex.com")) {
+ requestBuilder.removeHeader("Spark-User-Agent");
+ requestBuilder.removeHeader("Cisco-Request-ID");
+ requestBuilder.removeHeader(ServiceReqeust.HEADER_TRACKING_ID);
+ }
return chain.proceed(requestBuilder.build());
}
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/HttpClient.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/HttpClient.java
index d96bd433..94482ce6 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/HttpClient.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/http/HttpClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -23,10 +23,14 @@
package com.ciscowebex.androidsdk.utils.http;
import android.support.annotation.NonNull;
+
+import com.ciscowebex.androidsdk.internal.ServiceReqeust;
import com.ciscowebex.androidsdk.utils.NetworkUtils;
import com.github.benoitdion.ln.Ln;
+
import okhttp3.*;
import okhttp3.logging.HttpLoggingInterceptor;
+
import org.jetbrains.annotations.NotNull;
import java.io.IOException;
@@ -48,8 +52,7 @@ public class HttpClient {
Ln.d("[HTTP] " + message.substring(MAX_LENGTH * i, max));
}
}
- }
- else {
+ } else {
Ln.d("[HTTP] " + message);
}
});
@@ -63,7 +66,8 @@ public static void setLogLevel(HttpLoggingInterceptor.Level level) {
LOGGING_INTERCEPTOR.setLevel(level);
}
- public static @NonNull OkHttpClient defaultClient = newClient().build();
+ public static @NonNull
+ OkHttpClient defaultClient = newClient().build();
public static OkHttpClient.Builder newClient() {
return new OkHttpClient.Builder()
@@ -74,7 +78,14 @@ public static OkHttpClient.Builder newClient() {
Request request = chain.request();
Response response = chain.proceed(request);
if (response.code() >= 300 && response.code() <= 399) {
- request = request.newBuilder().url(Objects.requireNonNull(response.header("Location"))).build();
+ String url = Objects.requireNonNull(response.header("Location"));
+ okhttp3.Request.Builder requestBuilder = request.newBuilder().url(url);
+ if (!url.contains("wbx2.com") && !url.contains("ciscospark.com") && !url.contains("webex.com")) {
+ requestBuilder.removeHeader("Spark-User-Agent");
+ requestBuilder.removeHeader("Cisco-Request-ID");
+ requestBuilder.removeHeader(ServiceReqeust.HEADER_TRACKING_ID);
+ }
+ request = requestBuilder.build();
Ln.i("Handling redirect, url = " + request.url());
response = chain.proceed(request);
}
@@ -92,7 +103,10 @@ public Response intercept(@NotNull Chain chain) throws IOException {
int retrySeconds = NetworkUtils.get429RetryAfterSeconds(response, 5, 3600);
if (retrySeconds > 0) {
synchronized (lock) {
- try { lock.wait(retrySeconds * 1000); } catch (Throwable ignored) {}
+ try {
+ lock.wait(retrySeconds * 1000);
+ } catch (Throwable ignored) {
+ }
}
response = chain.proceed(request);
}
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/DebugLn.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/DebugLn.java
index 82493e70..721639a1 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/DebugLn.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/DebugLn.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/LogCaptureUtil.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/LogCaptureUtil.java
index 3d36f854..e1ecf257 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/LogCaptureUtil.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/LogCaptureUtil.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/MediaLog.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/MediaLog.java
index f867ef04..f5ebfc6e 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/MediaLog.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/MediaLog.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/NoLn.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/NoLn.java
index cd040593..93e6df51 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/NoLn.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/NoLn.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/WarningLn.java b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/WarningLn.java
index 4f6cd5a4..9a1dced0 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/WarningLn.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/utils/log/WarningLn.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/Webhook.java b/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/Webhook.java
index 790b0d18..d9f11679 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/Webhook.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/Webhook.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/WebhookClient.java b/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/WebhookClient.java
index f01cc19f..2c20a724 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/WebhookClient.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/WebhookClient.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
diff --git a/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/internal/WebhookClientImpl.java b/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/internal/WebhookClientImpl.java
index 062963d1..5b37158d 100644
--- a/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/internal/WebhookClientImpl.java
+++ b/sdk/src/main/java/com/ciscowebex/androidsdk/webhook/internal/WebhookClientImpl.java
@@ -1,5 +1,5 @@
/*
- * Copyright 2016-2020 Cisco Systems Inc
+ * Copyright 2016-2021 Cisco Systems Inc
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal