Skip to content

Commit

Permalink
See RN3.4.0 (20240229)
Browse files Browse the repository at this point in the history
- AndroidOmemoService initOmemoDevice() setReplyTimeout not working and always failed with NoResponseException;
  * Implement setReplyTimeout for both Async.go in smack OmemoManager/OmemoService, else set value is reset by aTalk other stanza processes.
  * set in OmemoService for initializeAsync(), and within the PepEventListener<OmemoDeviceListElement>
  See https://discourse.igniterealtime.org/t/smack-4-4-7-xmppconnection-setreplytimeout-value-is-not-guaranteed-when-the-stanza-is-sent-asynchronously/93636
- Smack OmemoManager handle of Pubsub#event in PepEventListener has NoResponseException; end in endless loop when server
  send multiple (x15) Pubsub#event's, and eventually eventually crashes smack with InvalidXmlException.
  setReplyTimeout to 15s and block all new Pubsub#Event once it is served, check via publishedDeviceList.
- Finally aTalk decided to make local changes, replacing the 2 files in smack-omemo library i.e.
  a. OmemoManager.java and
  b. OmemoService.java classes
- Remove all the new created volatile contacts on exit 'Show Block List', else deleted contacts reappear in contactList.
- Alert dialog drawable/background_alert_dialog must use ?attr/colorBackground, to align with text font theme color.
- Set aTalk minSdkVersion to API-24; diminish support in android libraries for < API-24
- Drop dependency and replace com.code-troopers.betterpickers with android DatePicker-spinner mode (API-24).
- Improve call history deletion UI for all call records prior to user set date.
- Improve account preference birth date setting UI.
- Remove MapsInitializer.initialize(), no further required; default to use Renderer.LATEST
  see https://developers.google.com/maps/documentation/android-sdk/renderer#opt-out
- Remove all old classes supporting <API-24: AbstractFunction, Consumer, Function, Predicate, and Supplier
  • Loading branch information
cmeng-git committed Feb 29, 2024
1 parent bb0f22d commit 573ff05
Show file tree
Hide file tree
Showing 122 changed files with 2,148 additions and 1,136 deletions.
26 changes: 25 additions & 1 deletion aTalk/ReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,29 @@
Project aTalk-Android Release Notes
=========================================================================
Version: 3.4.0 (304000)
Release Date: 02/29/2024
Author: cmeng
- AndroidOmemoService initOmemoDevice() setReplyTimeout not working and always failed with NoResponseException;
* Implement setReplyTimeout for both Async.go in smack OmemoManager/OmemoService, else set value is reset by aTalk other stanza processes.
* set in OmemoService for initializeAsync(), and within the PepEventListener<OmemoDeviceListElement>
See https://discourse.igniterealtime.org/t/smack-4-4-7-xmppconnection-setreplytimeout-value-is-not-guaranteed-when-the-stanza-is-sent-asynchronously/93636
- Smack OmemoManager handle of Pubsub#event in PepEventListener has NoResponseException; end in endless loop when server
send multiple (x15) Pubsub#event's, and eventually eventually crashes smack with InvalidXmlException.
setReplyTimeout to 15s and block all new Pubsub#Event once it is served, check via publishedDeviceList.
- Finally aTalk decided to make local changes, replacing the 2 files in smack-omemo library i.e.
a. OmemoManager.java and
b. OmemoService.java classes
- Remove all the new created volatile contacts on exit 'Show Block List', else deleted contacts reappear in contactList.
- Alert dialog drawable/background_alert_dialog must use ?attr/colorBackground, to align with text font theme color.
- Set aTalk minSdkVersion to API-24; diminish support in android libraries for < API-24
- Drop dependency and replace com.code-troopers.betterpickers with android DatePicker-spinner mode (API-24).
- Improve call history deletion UI for all call records prior to user set date.
- Improve account preference birth date setting UI.
- Remove MapsInitializer.initialize(), no further required; default to use Renderer.LATEST
see https://developers.google.com/maps/documentation/android-sdk/renderer#opt-out
- Remove all old classes supporting <API-24: AbstractFunction, Consumer, Function, Predicate, and Supplier
- Halt upgrade jni library libvpx 1.13.1 to 1.14.0; ABI mismatch when run on armeabi-v7a and x86-64. arm64-v8a is OK.

=========================================================================
Version: 3.3.7 (303070)
Release Date: 02/21/2024
Expand Down Expand Up @@ -30,7 +55,6 @@ Author: cmeng
* a. org.jivesoftware.smackx.jingle.transports.jingle_s5b.elements.JingleS5BTransportInfo
* b. org.jivesoftware.smackx.jingle_filetransfer.element.JingleFileTransferChild
- Fix call notification control ui partial cropping of buttons.
- Smack uses java.util.zip.Deflater(In|Out)putStream as Java7 API native alternative to obsoleted JZlib
- Clean up ChatSessionManager class source removing unused methods.

=========================================================================
Expand Down
17 changes: 7 additions & 10 deletions aTalk/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ configurations {
}

configurations.implementation {

// https://docs.gradle.org/current/userguide/resolution_rules.html
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if (details.requested.group == 'org.bouncycastle' && details.requested.name == 'bcprov-jdk15on' && details.requested.version == '1.66') {
Expand All @@ -59,8 +58,8 @@ android {
namespace 'org.atalk.android'
applicationId "org.atalk.android"

versionCode 303070
versionName "3.3.7"
versionCode 304000
versionName "3.4.0"

minSdkVersion rootProject.minSdk
targetSdkVersion rootProject.compileSdk
Expand Down Expand Up @@ -228,8 +227,6 @@ dependencies {
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.preference:preference-ktx:1.2.1'

// for android better picker
implementation 'com.code-troopers.betterpickers:library:3.1.0'
implementation 'com.jakewharton:butterknife:10.2.3'

// Drop butterknife-compiler:10.2.3 for PermissionsActivity dependency, use View Binding instead;
Expand Down Expand Up @@ -376,11 +373,6 @@ dependencies {
// Rename to use aTalk namespace to minimize changes
classRename 'org.jitsi.utils.**', 'org.atalk.util.@1'

// Consumer was introduced in API-24
classRename 'java.util.function.Consumer', 'org.atalk.util.function.Consumer'
classRename 'java.util.function.Function', 'org.atalk.util.function.Function'
classRename 'java.util.function.Supplier', 'org.atalk.util.function.Supplier'

// Duration was added in API level-26; see https://github.com/JakeWharton/ThreeTenABP
classRename 'java.time.Duration', 'org.threeten.bp.Duration'

Expand Down Expand Up @@ -488,7 +480,12 @@ dependencies {
from("org.igniterealtime.smack:smack-omemo:$smackVersion") {
transitive = false
}
// Add JingleEnvelopeManager support and Custom smack reply timer for:
// initializeAsync() and PepEventListener<OmemoDeviceListElement>; setReplyTimeout to 15s
// Introduce publishedDeviceList to resolve endless loop response to pubsub#event's
classDelete 'org.jivesoftware.smackx.omemo.OmemoManager**'
// Must setReplyTimeout here to be effective
classDelete 'org.jivesoftware.smackx.omemo.OmemoService**'
}
}

Expand Down
2 changes: 1 addition & 1 deletion aTalk/jni/Application.mk
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# APP_PLATFORM=android-15 for aTalk minimum support SDK platform i.e. api-15
# see https://github.com/android-ndk/ndk/issues/543
# https://android.googlesource.com/platform/ndk/+/master/docs/user/common_problems.md#using-mismatched-prebuilt-libraries
APP_PLATFORM := android-21
APP_PLATFORM := android-24

# https://developer.android.com/ndk/guides/abis.html
# We recommend setting APP_ABI := all for all targets. For specific target explicitly, use
Expand Down
Binary file modified aTalk/jni/ffmpeg/android/arm64-v8a/lib/libavcodec.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/arm64-v8a/lib/libavfilter.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/arm64-v8a/lib/libavformat.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/arm64-v8a/lib/libavutil.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/arm64-v8a/lib/libswresample.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/arm64-v8a/lib/libswscale.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/arm64-v8a/lib/libx264.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/armeabi-v7a/lib/libavcodec.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/armeabi-v7a/lib/libavfilter.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/armeabi-v7a/lib/libavformat.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/armeabi-v7a/lib/libavutil.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/armeabi-v7a/lib/libswresample.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/armeabi-v7a/lib/libswscale.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/armeabi-v7a/lib/libx264.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86/lib/libavcodec.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86/lib/libavfilter.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86/lib/libavformat.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86/lib/libavutil.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86/lib/libswresample.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86/lib/libswscale.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86/lib/libx264.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86_64/lib/libavcodec.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86_64/lib/libavfilter.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86_64/lib/libavformat.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86_64/lib/libavutil.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86_64/lib/libswresample.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86_64/lib/libswscale.a
Binary file not shown.
Binary file modified aTalk/jni/ffmpeg/android/x86_64/lib/libx264.a
Binary file not shown.
Binary file modified aTalk/jni/openssl/android/arm64-v8a/lib/libcrypto.a
Binary file not shown.
Binary file modified aTalk/jni/openssl/android/armeabi-v7a/lib/libcrypto.a
Binary file not shown.
Binary file modified aTalk/jni/openssl/android/x86/lib/libcrypto.a
Binary file not shown.
Binary file modified aTalk/jni/openssl/android/x86/lib/libssl.a
Binary file not shown.
Binary file modified aTalk/jni/openssl/android/x86_64/lib/libcrypto.a
Binary file not shown.
8 changes: 4 additions & 4 deletions aTalk/jni/static_library_built/README_lib_built.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ The built static libraries are used in Android Studio NDK built process to gener
Each static library is built using the shell scripts in each module sub-directory.<br/>
The scripts are written to run on linux/Ubuntu OS with proper development environment setup i.e.
* sudo apt-get --quiet --yes install build-essential git autoconf libtool pkg-config gperf gettext yasm python-lxml
* The compiled static libraries for each module are installed into the aTalk/jin/&lt;module>/android/&lt;ABI>.
* The compiled static libraries for each module are installed into the ./jni/&lt;module>/android/&lt;ABI>.

Please refer to each sub-directory for more information.

Expand All @@ -14,11 +14,11 @@ jni/ffmpeg, jni/vpx, jni/openssl etc
* The following 3 libraries are required to be built externally for integration into aTalk i.e.:

1. ffmpeg-x264:<br/>
Build static libraries for the various architectures used for aTalk/jni/ffmpeg
Build static libraries for the various architectures used for ./jni/ffmpeg
2. libvpx:<br/>
Build static libraries for the various architectures used for aTalk/jni/vpx
Build static libraries for the various architectures used for ./jni/vpx
3. openssl:<br/>
Build static libraries for the various architectures used for aTalk/jni/openssl
Build static libraries for the various architectures used for ./jni/openssl

Built all
--------------------------------------
Expand Down
4 changes: 2 additions & 2 deletions aTalk/jni/static_library_built/ffmpeg-x264/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The ffmpeg-v5.1.4 and libx264-v164 source are downloaded using the init_libs_ffm
e.g. build-ffmpeg4android.sh arm64-v8a for the specific 'arm64-v8a' architecture built
* Optional - execute script below to fetch libraries sources for both ffmpeg and x264 i.e. ./init_libs_ffmpeg_x264.sh. <br/>
Note: You only need to run this script manually if you want to update the existing ffmpeg and/or x264 sources<br/>
* All the final built static libs *.a and include files are installed in the ./aTalk/jni/ffmpeg/android/&lt;ABI>
* All the final built static libs *.a and include files are installed in the ./jni/ffmpeg/android/&lt;ABI>
* Note:<br/>
a. Before building, build-ffmpeg4android.sh fetches the source if none is found or with an incorrect version.<br/>
The versions are defined in the file i.e.:<br/>
Expand Down Expand Up @@ -43,7 +43,7 @@ The ffmpeg-v5.1.4 and libx264-v164 source are downloaded using the init_libs_ffm
* Current aTalk >=v3.0.0 ffmpeg support have updated all deprecated functions when using ffmpeg version >= 5.1
* If a higher ffmpeg version is required, you may need to update both the following two files:
- .jni\ffmpeg\FFmpeg.c and
- atalk-android\aTalk\src\main\java\org\atalk\impl\neomedia\codec\FFmpeg.java
- org\atalk\impl\neomedia\codec\FFmpeg.java
* Building of arch64-bit required api-21 and must apply throughout all scripts and in AS JNI application.mk<br/>
i.e. APP_PLATFORM := android-21

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ VERSION=$(cat RELEASE)
echo -e "\n\n** BUILD STARTED: ${LIB_FFMPEG}-v${VERSION} for ${1} **"

# Must include option --disable-asm; otherwise ffmpeg-3.4.6 has problem and crash system:
# armeabi-v7a: org.atalk.android A/libc: Fatal signal 7 (SIGBUS), code 1, fault addr 0x9335c00c in tid 20032 (Loop thread: ne)
# armeabi-v7a: A/libc: Fatal signal 7 (SIGBUS), code 1, fault addr 0x9335c00c in tid 20032 (Loop thread: ne)
# x86: ./i686-linux-android/bin/ld: warning: shared library text segment is not shareable
# x86_64: e.g libswresample, libswscale, libavcodec: requires dynamic R_X86_64_PC32 reloc against ...
# libavcodec/x86/cabac.h:193:9: error: inline assembly requires more registers than available
Expand Down
2 changes: 1 addition & 1 deletion aTalk/jni/static_library_built/ffmpeg-x264/_settings.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ set -u
# Never mix two api level to build static library for use on the same apk.
# Set to API:21 for aTalk 64-bit architecture support and minSdk support
# Does not build 64-bit arch if ANDROID_API is less than 21 i.e. the minimum supported API level for 64-bit.
ANDROID_API=21
ANDROID_API=24

# Built with command i.e. ./ffmpeg-android_build.sh or following with parameter [ABIS(x)]
# Create custom ABIS or uncomment to build all supported abi for ffmpeg.
Expand Down
4 changes: 2 additions & 2 deletions aTalk/jni/static_library_built/libvpx/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ b. for a specific <ABI>
./build-libvpx4android.sh <ABI>
The build installs the static libs and includes into the android project jni directory
i.e. aTalk/jni/vpx/android/\<ABI>
i.e. ./jni/vpx/android/\<ABI>
```
```
Note:
Expand All @@ -62,7 +62,7 @@ clang50: error: no such file or directory: 'ARCHITECTURE=7'
The above problem is fixed in libvpx-1.8.2 (standalone toolChanins only: sdk-path option is removed)
```

All information given below is for reference only. See aTalk/jni for its implementation.
All information given below is for reference only. See ./jni for its implementation.

##### ============================================
#### Android.mk makefile - for other project
Expand Down
2 changes: 1 addition & 1 deletion aTalk/jni/static_library_built/libvpx/_settings.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ set -u
# Never mix two api level to build static library for use on the same apk.
# Set to API:21 for aTalk 64-bit architecture support and minSdk support
# Does not build 64-bit arch if ANDROID_API is less than 21 i.e. the minimum supported API level for 64-bit.
ANDROID_API=21
ANDROID_API=24

# Do not change naming convention of the ABIS; see:
# https://developer.android.com/ndk/guides/abis.html#Native code in app packages
Expand Down
2 changes: 1 addition & 1 deletion aTalk/jni/static_library_built/openssl/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ All the built libxxx.a and *.h are installed in the ./jni/openssl/android/&lt;AB
- b. for a specific \<ABI><br/>
./build-libopenssl4android.sh \<ABI>

All information given below is for reference only. See aTalk/jni for its implementation.
All information given below is for reference only. See ./jni for its implementation.

##============================================##<br/>
Add libopenssl include path to `jni/Android.mk`.
Expand Down
2 changes: 1 addition & 1 deletion aTalk/jni/static_library_built/openssl/_settings.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ set -u
# Never mix two api level to build static library for use on the same apk.
# Set to API:21 for aTalk 64-bit architecture support and minSdk support
# Does not build 64-bit arch if ANDROID_API is less than 21 i.e. the minimum supported API level for 64-bit.
ANDROID_API=21
ANDROID_API=24

# Do not change naming convention of the ABIS; see:
# https://developer.android.com/ndk/guides/abis.html#Native code in app packages
Expand Down
Binary file modified aTalk/jni/vpx/android/arm64-v8a/lib/libvpx.a
Binary file not shown.
Binary file modified aTalk/jni/vpx/android/armeabi-v7a/lib/libvpx.a
Binary file not shown.
Binary file modified aTalk/jni/vpx/android/x86/lib/libvpx.a
Binary file not shown.
Binary file modified aTalk/jni/vpx/android/x86_64/lib/libvpx.a
Binary file not shown.
6 changes: 3 additions & 3 deletions aTalk/release/version.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Date: Wed Feb 21 07:09:33 SGT 2024
Date: Thu Feb 29 06:56:18 SGT 2024

last_version=3.3.7
last_version_code=303070
last_version=3.4.0
last_version_code=304000
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,7 @@
* @author Emil Ivov
* @author Lyubomir Marinov
*/
public class ConfigurationActivator implements BundleActivator
{
public class ConfigurationActivator implements BundleActivator {
/**
* The <code>BundleContext</code> in which the configuration bundle has been started and has not been stopped yet.
*/
Expand All @@ -25,34 +24,32 @@ public class ConfigurationActivator implements BundleActivator
* Starts the configuration service
*
* @param bundleContext the <code>BundleContext</code> as provided by the OSGi framework.
*
* @throws Exception if anything goes wrong
*/
public void start(BundleContext bundleContext)
throws Exception
{
throws Exception {
ConfigurationActivator.bundleContext = bundleContext;
ConfigurationService configurationService = LibJitsi.getConfigurationService();

if (configurationService != null) {
configurationService.setProperty("protocol.sip.DESKTOP_STREAMING_DISABLED", "true");
configurationService.setProperty("protocol.jabber.DESKTOP_STREAMING_DISABLED", "true");
configurationService.setProperty("protocol.jabber.DISABLE_CUSTOM_DIGEST_MD5", "true");
bundleContext.registerService(ConfigurationService.class.getName(), configurationService, null);
}
configurationService.setProperty("protocol.sip.DESKTOP_STREAMING_DISABLED", "true");
configurationService.setProperty("protocol.jabber.DESKTOP_STREAMING_DISABLED", "true");
configurationService.setProperty("protocol.jabber.DISABLE_CUSTOM_DIGEST_MD5", "true");
bundleContext.registerService(ConfigurationService.class.getName(), configurationService, null);
}

/**
* Causes the configuration service to store the properties object and unregisters the
* configuration service.
*
* @param bundleContext <code>BundleContext</code>
*
* @throws Exception if anything goes wrong while storing the properties managed by the
* <code>ConfigurationService</code> implementation provided by this bundle and while
* unregistering the service in question
*/
public void stop(BundleContext bundleContext)
throws Exception
{
throws Exception {
}

/**
Expand All @@ -62,8 +59,7 @@ public void stop(BundleContext bundleContext)
* @return the <code>BundleContext</code> in which the configuration bundle has been started and
* has not been stopped yet
*/
public static BundleContext getBundleContext()
{
public static BundleContext getBundleContext() {
return bundleContext;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ public class MessageSourceService extends MetaContactListAdapter implements Cont
* Sort database message records by TimeStamp in ASC
*/
private static final String ORDER_ASC = MessageSourceService.TIME_STAMP + " ASC";
private static final String ORDER_DESC = MessageSourceService.TIME_STAMP + " DESC";

/**
* The maximum number of recent messages to store in the history, but will retrieve just <code>numberOfMessages</code>
Expand Down Expand Up @@ -540,7 +541,7 @@ private void saveRecentMessageToHistory(ComparableEvtObj msc)
{
// Keep the record size to within the specified NUMBER_OF_MSGS_IN_HISTORY
Cursor cursor = mDB.query(MessageSourceService.TABLE_NAME, null, null, null,
null, null, ORDER_ASC);
null, null, ORDER_DESC);
int excess = cursor.getCount() - NUMBER_OF_MSGS_IN_HISTORY;
if (excess > 0) {
cursor.move(excess + 12);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,10 @@ private <U extends OperationSet> U getOperationSet(Jid jid, Class<U> opsetClass,
/*
* If the specified contact is offline, don't query its features (they should fail anyway).
*/
if (!online)
if (!online) {
return OFFLINE_OPERATION_SETS.contains(opsetClass) ? opset : null;
}

/*
* If we know the features required for the support of opsetClass, check whether the
* contact supports them. Otherwise, presume the contact possesses the opsetClass
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,7 @@ public class OperationSetPersistentPresenceJabberImpl
*/
public OperationSetPersistentPresenceJabberImpl(ProtocolProviderServiceJabberImpl pps, InfoRetriever infoRetriever) {
super(pps);
// Timber.e("OperationSetPersistentPresenceJabberImpl: %s %s", pps, infoRetriever);
mInfoRetriever = infoRetriever;
ssContactList = new ServerStoredContactListJabberImpl(this, pps, infoRetriever);
mobileIndicator = new MobileIndicator(pps, ssContactList);
Expand Down Expand Up @@ -546,6 +547,7 @@ public void publishPresenceStatus(PresenceStatus status, String statusMessage)
return;
}
}

if (status.equals(jabberStatusEnum.getStatus(JabberStatusEnum.OFFLINE))) {
mPPS.unregister();
clearLocalContactResources();
Expand All @@ -569,6 +571,7 @@ else if (status.equals(jabberStatusEnum.getStatus(JabberStatusEnum.IN_A_MEETING)

currentPresence = presenceBuilder.build();
try {
// Timber.e("Sending presence status");
connection.sendStanza(currentPresence);
} catch (NotConnectedException | InterruptedException e) {
Timber.e(e, "Could not send new presence status");
Expand Down
Loading

0 comments on commit 573ff05

Please sign in to comment.