From 141d450e430f37f0507d89789616ef5606d8a8fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Fri, 11 Jun 2021 15:12:22 -0400 Subject: [PATCH] build: use rxjava3 Change-Id: I2d2c3f30f45fa0f467d886d81a8c5d6b86f39543 --- ring-android/app/build.gradle | 2 +- .../account/AccountCreationModelImpl.java | 2 +- .../ring/account/AccountEditionPresenter.java | 3 +- .../ring/account/AccountWizardActivity.java | 4 +- .../account/HomeAccountCreationFragment.java | 2 +- .../account/JamiAccountSummaryFragment.java | 8 ++-- .../ring/account/ProfileCreationFragment.java | 2 +- .../cx/ring/account/RegisterNameDialog.java | 4 +- .../cx/ring/adapters/ConversationAdapter.java | 8 ++-- .../cx/ring/adapters/RingtoneAdapter.java | 20 ++++---- .../cx/ring/adapters/SmartListAdapter.java | 2 +- .../cx/ring/application/JamiApplication.java | 4 +- .../cx/ring/client/AccountSpinnerAdapter.java | 6 +-- .../ring/client/ContactDetailsActivity.java | 4 +- .../client/ConversationSelectionActivity.java | 4 +- .../java/cx/ring/client/HomeActivity.java | 8 ++-- .../java/cx/ring/client/LogsActivity.java | 10 ++-- .../java/cx/ring/client/RingtoneActivity.java | 7 +-- .../ContactRequestsFragment.java | 2 +- .../JamiInjectionModule.java | 4 +- .../ServiceInjectionModule.java | 4 +- .../fragments/AccountMigrationFragment.java | 5 +- .../java/cx/ring/fragments/CallFragment.java | 2 +- .../ring/fragments/ContactPickerFragment.java | 4 +- .../ring/fragments/ConversationFragment.java | 48 +++++++++---------- .../fragments/GeneralAccountPresenter.java | 3 +- .../fragments/LocationSharingFragment.java | 12 ++--- .../fragments/MediaPreferencePresenter.java | 3 +- .../cx/ring/fragments/ShareWithFragment.java | 4 +- .../cx/ring/fragments/SmartListFragment.java | 2 +- .../java/cx/ring/service/DRingService.java | 2 +- .../java/cx/ring/services/CameraService.java | 14 +++--- .../cx/ring/services/ContactServiceImpl.java | 6 +-- .../cx/ring/services/HardwareServiceImpl.java | 5 +- .../ring/services/LocationSharingService.java | 34 ++++++------- .../cx/ring/services/VCardServiceImpl.java | 6 +-- .../cx/ring/settings/AccountFragment.java | 4 +- .../PluginPathPreferenceFragment.java | 2 +- .../PluginsListSettingsFragment.java | 4 +- .../cx/ring/tv/account/TVAccountWizard.java | 4 +- .../tv/account/TVProfileCreationFragment.java | 2 +- .../tv/account/TVProfileEditingFragment.java | 6 +-- .../cx/ring/tv/account/TVShareFragment.java | 4 +- .../java/cx/ring/tv/call/TVCallFragment.java | 3 -- .../ring/tv/camera/CustomCameraActivity.java | 8 ++-- .../ring/tv/contact/TVContactPresenter.java | 3 +- .../conversation/TvConversationAdapter.java | 10 ++-- .../conversation/TvConversationFragment.java | 8 ++-- .../TvConversationViewHolder.java | 2 +- .../java/cx/ring/tv/main/HomeActivity.java | 4 +- .../java/cx/ring/tv/main/MainFragment.java | 10 ++-- .../java/cx/ring/tv/main/MainPresenter.java | 5 +- .../tv/search/ContactSearchPresenter.java | 5 +- .../java/cx/ring/utils/AndroidFileUtils.java | 9 ++-- .../ring/viewholders/SmartListViewHolder.java | 18 +++---- .../java/cx/ring/views/AvatarDrawable.java | 3 +- .../java/cx/ring/views/AvatarFactory.java | 2 +- .../cx/ring/views/ConversationViewHolder.java | 2 +- .../java/cx/ring/views/ParticipantView.java | 2 +- ring-android/libringclient/build.gradle | 2 +- .../jami/account/AccountWizardPresenter.java | 24 +++++----- .../net/jami/account/AccountWizardView.java | 2 +- .../account/JamiAccountCreationPresenter.java | 5 +- .../account/JamiAccountSummaryPresenter.java | 6 +-- .../net/jami/account/LinkDevicePresenter.java | 2 +- .../account/ProfileCreationPresenter.java | 5 +- .../java/net/jami/call/CallPresenter.java | 16 +++---- .../contactrequests/BlockListPresenter.java | 3 +- .../ContactRequestsPresenter.java | 7 +-- .../contactrequests/ContactRequestsView.java | 2 +- .../conversation/ConversationPresenter.java | 12 ++--- .../net/jami/facades/ConversationFacade.java | 16 +++---- .../src/main/java/net/jami/model/Account.java | 13 ++--- .../main/java/net/jami/model/Conference.java | 6 +-- .../src/main/java/net/jami/model/Contact.java | 8 ++-- .../java/net/jami/model/Conversation.java | 14 +++--- .../net/jami/mvp/AccountCreationModel.java | 10 ++-- .../main/java/net/jami/mvp/RootPresenter.java | 2 +- .../navigation/HomeNavigationPresenter.java | 6 +-- .../net/jami/services/AccountService.java | 22 ++++----- .../java/net/jami/services/CallService.java | 28 +++++------ .../net/jami/services/ContactService.java | 6 +-- .../net/jami/services/HardwareService.java | 19 ++++---- .../net/jami/services/HistoryService.java | 9 ++-- .../net/jami/services/PreferencesService.java | 7 +-- .../java/net/jami/services/VCardService.java | 4 +- .../net/jami/settings/SettingsPresenter.java | 3 +- .../java/net/jami/share/SharePresenter.java | 4 +- .../jami/smartlist/SmartListPresenter.java | 16 +++---- .../net/jami/smartlist/SmartListView.java | 2 +- .../jami/smartlist/SmartListViewModel.java | 5 +- .../main/java/net/jami/utils/VCardUtils.java | 4 +- .../net/jami/wizard/SIPCreationPresenter.java | 10 ++-- 93 files changed, 345 insertions(+), 335 deletions(-) diff --git a/ring-android/app/build.gradle b/ring-android/app/build.gradle index e66d9b40a..86ef27d9f 100644 --- a/ring-android/app/build.gradle +++ b/ring-android/app/build.gradle @@ -119,7 +119,7 @@ dependencies { annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0' // RxAndroid - implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' + implementation 'io.reactivex.rxjava3:rxandroid:3.0.0' implementation 'com.jsibbold:zoomage:1.2.0' implementation 'com.googlecode.ez-vcard:ez-vcard:0.11.2' diff --git a/ring-android/app/src/main/java/cx/ring/account/AccountCreationModelImpl.java b/ring-android/app/src/main/java/cx/ring/account/AccountCreationModelImpl.java index 1217a0056..aa4173dd1 100644 --- a/ring-android/app/src/main/java/cx/ring/account/AccountCreationModelImpl.java +++ b/ring-android/app/src/main/java/cx/ring/account/AccountCreationModelImpl.java @@ -30,7 +30,7 @@ import ezvcard.property.FormattedName; import ezvcard.property.Photo; import ezvcard.property.RawProperty; import ezvcard.property.Uid; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; public class AccountCreationModelImpl extends AccountCreationModel implements Serializable { diff --git a/ring-android/app/src/main/java/cx/ring/account/AccountEditionPresenter.java b/ring-android/app/src/main/java/cx/ring/account/AccountEditionPresenter.java index 41eab5b62..13b0d722b 100644 --- a/ring-android/app/src/main/java/cx/ring/account/AccountEditionPresenter.java +++ b/ring-android/app/src/main/java/cx/ring/account/AccountEditionPresenter.java @@ -25,7 +25,8 @@ import javax.inject.Named; import net.jami.model.Account; import net.jami.mvp.RootPresenter; import net.jami.services.AccountService; -import io.reactivex.Scheduler; + +import io.reactivex.rxjava3.core.Scheduler; public class AccountEditionPresenter extends RootPresenter<AccountEditionView> { private final AccountService mAccountService; diff --git a/ring-android/app/src/main/java/cx/ring/account/AccountWizardActivity.java b/ring-android/app/src/main/java/cx/ring/account/AccountWizardActivity.java index a46f7c0e8..7a695a0f7 100644 --- a/ring-android/app/src/main/java/cx/ring/account/AccountWizardActivity.java +++ b/ring-android/app/src/main/java/cx/ring/account/AccountWizardActivity.java @@ -54,8 +54,8 @@ import cx.ring.mvp.BaseActivity; import net.jami.mvp.AccountCreationModel; import net.jami.utils.VCardUtils; import ezvcard.VCard; -import io.reactivex.Single; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; public class AccountWizardActivity extends BaseActivity<AccountWizardPresenter> implements AccountWizardView { static final String TAG = AccountWizardActivity.class.getName(); diff --git a/ring-android/app/src/main/java/cx/ring/account/HomeAccountCreationFragment.java b/ring-android/app/src/main/java/cx/ring/account/HomeAccountCreationFragment.java index 0136a9846..a5352ba5a 100644 --- a/ring-android/app/src/main/java/cx/ring/account/HomeAccountCreationFragment.java +++ b/ring-android/app/src/main/java/cx/ring/account/HomeAccountCreationFragment.java @@ -41,7 +41,7 @@ import cx.ring.application.JamiApplication; import cx.ring.databinding.FragAccHomeCreateBinding; import cx.ring.mvp.BaseSupportFragment; import cx.ring.utils.AndroidFileUtils; -import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; public class HomeAccountCreationFragment extends BaseSupportFragment<HomeAccountCreationPresenter> implements HomeAccountCreationView { private static final int ARCHIVE_REQUEST_CODE = 42; diff --git a/ring-android/app/src/main/java/cx/ring/account/JamiAccountSummaryFragment.java b/ring-android/app/src/main/java/cx/ring/account/JamiAccountSummaryFragment.java index 162fbcb08..7e9043ee0 100644 --- a/ring-android/app/src/main/java/cx/ring/account/JamiAccountSummaryFragment.java +++ b/ring-android/app/src/main/java/cx/ring/account/JamiAccountSummaryFragment.java @@ -82,10 +82,10 @@ import cx.ring.utils.BitmapUtils; import cx.ring.utils.ContentUriHandler; import cx.ring.views.AvatarDrawable; import cx.ring.views.SwitchButton; -import io.reactivex.Single; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.schedulers.Schedulers; public class JamiAccountSummaryFragment extends BaseSupportFragment<JamiAccountSummaryPresenter> implements RegisterNameDialog.RegisterNameDialogListener, diff --git a/ring-android/app/src/main/java/cx/ring/account/ProfileCreationFragment.java b/ring-android/app/src/main/java/cx/ring/account/ProfileCreationFragment.java index 79225f3e8..764ee026a 100644 --- a/ring-android/app/src/main/java/cx/ring/account/ProfileCreationFragment.java +++ b/ring-android/app/src/main/java/cx/ring/account/ProfileCreationFragment.java @@ -56,7 +56,7 @@ import cx.ring.mvp.BaseSupportFragment; import cx.ring.utils.AndroidFileUtils; import cx.ring.utils.ContentUriHandler; import cx.ring.views.AvatarDrawable; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; public class ProfileCreationFragment extends BaseSupportFragment<ProfileCreationPresenter> implements ProfileCreationView { public static final String TAG = ProfileCreationFragment.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/account/RegisterNameDialog.java b/ring-android/app/src/main/java/cx/ring/account/RegisterNameDialog.java index 872e08a3f..f192b82e4 100644 --- a/ring-android/app/src/main/java/cx/ring/account/RegisterNameDialog.java +++ b/ring-android/app/src/main/java/cx/ring/account/RegisterNameDialog.java @@ -42,8 +42,8 @@ import cx.ring.databinding.FragRegisterNameBinding; import net.jami.services.AccountService; import cx.ring.utils.RegisteredNameFilter; import cx.ring.utils.RegisteredNameTextWatcher; -import io.reactivex.Scheduler; -import io.reactivex.disposables.Disposable; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.disposables.Disposable; public class RegisterNameDialog extends DialogFragment { static final String TAG = RegisterNameDialog.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.java b/ring-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.java index 9c516366e..f0400896a 100644 --- a/ring-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.java +++ b/ring-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.java @@ -93,8 +93,8 @@ import cx.ring.utils.GlideApp; import cx.ring.utils.GlideOptions; import cx.ring.utils.ResourceMapper; import cx.ring.views.ConversationViewHolder; -import io.reactivex.Observable; -import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Observable; public class ConversationAdapter extends RecyclerView.Adapter<ConversationViewHolder> { private final static String TAG = ConversationAdapter.class.getSimpleName(); @@ -144,7 +144,7 @@ public class ConversationAdapter extends RecyclerView.Adapter<ConversationViewHo .override(mPictureMaxSize) .transform(new RoundedCorners(corner)); timestampUpdateTimer = Observable.interval(10, TimeUnit.SECONDS, AndroidSchedulers.mainThread()) - .startWith(0L); + .startWithItem(0L); } /** @@ -513,7 +513,7 @@ public class ConversationAdapter extends RecyclerView.Adapter<ConversationViewHo ((ImageView) viewHolder.btnAccept).setImageResource(R.drawable.baseline_play_arrow_24); }); viewHolder.compositeDisposable.add(Observable.interval(1L, TimeUnit.SECONDS, AndroidSchedulers.mainThread()) - .startWith(0L) + .startWithItem(0L) .subscribe(t -> { int pS = player.getCurrentPosition() / 1000; int dS = player.getDuration() / 1000; diff --git a/ring-android/app/src/main/java/cx/ring/adapters/RingtoneAdapter.java b/ring-android/app/src/main/java/cx/ring/adapters/RingtoneAdapter.java index 7b6b9d75e..a22acb9c6 100644 --- a/ring-android/app/src/main/java/cx/ring/adapters/RingtoneAdapter.java +++ b/ring-android/app/src/main/java/cx/ring/adapters/RingtoneAdapter.java @@ -37,24 +37,24 @@ import java.io.IOException; import java.util.List; import cx.ring.R; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.subjects.PublishSubject; +import io.reactivex.rxjava3.subjects.Subject; + import net.jami.model.Ringtone; import net.jami.utils.Log; -import io.reactivex.Observable; -import io.reactivex.subjects.PublishSubject; -import io.reactivex.subjects.Subject; public class RingtoneAdapter extends RecyclerView.Adapter<RingtoneAdapter.RingtoneViewHolder> { private final String TAG = RingtoneAdapter.class.getSimpleName(); - private List<Ringtone> ringtoneList; + private final List<Ringtone> ringtoneList; private int currentlySelectedPosition = 1; // default item - private MediaPlayer mp = new MediaPlayer(); - private Subject<Ringtone> ringtoneSubject = PublishSubject.create(); - - class RingtoneViewHolder extends RecyclerView.ViewHolder { - private TextView name; - private ImageView isSelected, isPlaying, ringtoneIcon; + private final MediaPlayer mp = new MediaPlayer(); + private final Subject<Ringtone> ringtoneSubject = PublishSubject.create(); + static class RingtoneViewHolder extends RecyclerView.ViewHolder { + private final TextView name; + private final ImageView isSelected, isPlaying, ringtoneIcon; RingtoneViewHolder(View view) { super(view); diff --git a/ring-android/app/src/main/java/cx/ring/adapters/SmartListAdapter.java b/ring-android/app/src/main/java/cx/ring/adapters/SmartListAdapter.java index 2ed8a07ee..c83d8a9fe 100644 --- a/ring-android/app/src/main/java/cx/ring/adapters/SmartListAdapter.java +++ b/ring-android/app/src/main/java/cx/ring/adapters/SmartListAdapter.java @@ -24,7 +24,7 @@ import cx.ring.databinding.ItemSmartlistBinding; import cx.ring.databinding.ItemSmartlistHeaderBinding; import net.jami.smartlist.SmartListViewModel; import cx.ring.viewholders.SmartListViewHolder; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; import android.os.Parcelable; import android.view.LayoutInflater; diff --git a/ring-android/app/src/main/java/cx/ring/application/JamiApplication.java b/ring-android/app/src/main/java/cx/ring/application/JamiApplication.java index a8e2035c7..5161c3344 100644 --- a/ring-android/app/src/main/java/cx/ring/application/JamiApplication.java +++ b/ring-android/app/src/main/java/cx/ring/application/JamiApplication.java @@ -72,8 +72,8 @@ import cx.ring.dependencyinjection.ServiceInjectionModule; import cx.ring.service.DRingService; import cx.ring.service.JamiJobService; import cx.ring.utils.AndroidFileUtils; -import io.reactivex.Completable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.schedulers.Schedulers; public abstract class JamiApplication extends Application { private static final String TAG = JamiApplication.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/client/AccountSpinnerAdapter.java b/ring-android/app/src/main/java/cx/ring/client/AccountSpinnerAdapter.java index 3d397063c..99f8ff951 100644 --- a/ring-android/app/src/main/java/cx/ring/client/AccountSpinnerAdapter.java +++ b/ring-android/app/src/main/java/cx/ring/client/AccountSpinnerAdapter.java @@ -37,9 +37,9 @@ import cx.ring.R; import cx.ring.databinding.ItemToolbarSelectedBinding; import cx.ring.databinding.ItemToolbarSpinnerBinding; import cx.ring.views.AvatarDrawable; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.schedulers.Schedulers; public class AccountSpinnerAdapter extends ArrayAdapter<Account> { private static final String TAG = AccountSpinnerAdapter.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/client/ContactDetailsActivity.java b/ring-android/app/src/main/java/cx/ring/client/ContactDetailsActivity.java index 3e1a9f1ab..e3d37ffb0 100644 --- a/ring-android/app/src/main/java/cx/ring/client/ContactDetailsActivity.java +++ b/ring-android/app/src/main/java/cx/ring/client/ContactDetailsActivity.java @@ -71,8 +71,8 @@ import cx.ring.fragments.ConversationFragment; import cx.ring.services.SharedPreferencesServiceImpl; import cx.ring.utils.ConversationPath; import cx.ring.views.AvatarDrawable; -import io.reactivex.Single; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class ContactDetailsActivity extends AppCompatActivity { private static final String TAG = ContactDetailsActivity.class.getName(); diff --git a/ring-android/app/src/main/java/cx/ring/client/ConversationSelectionActivity.java b/ring-android/app/src/main/java/cx/ring/client/ConversationSelectionActivity.java index 5d0a7cc11..77b60d7ca 100644 --- a/ring-android/app/src/main/java/cx/ring/client/ConversationSelectionActivity.java +++ b/ring-android/app/src/main/java/cx/ring/client/ConversationSelectionActivity.java @@ -47,8 +47,8 @@ import net.jami.services.CallService; import net.jami.smartlist.SmartListViewModel; import cx.ring.utils.ConversationPath; import cx.ring.viewholders.SmartListViewHolder; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class ConversationSelectionActivity extends AppCompatActivity { private final static String TAG = ConversationSelectionActivity.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java index f6ce8841e..12a722d7f 100644 --- a/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java +++ b/ring-android/app/src/main/java/cx/ring/client/HomeActivity.java @@ -92,10 +92,10 @@ import cx.ring.utils.ContentUriHandler; import cx.ring.utils.ConversationPath; import cx.ring.utils.DeviceUtils; import cx.ring.views.SwitchButton; -import io.reactivex.Observable; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.schedulers.Schedulers; public class HomeActivity extends AppCompatActivity implements BottomNavigationView.OnNavigationItemSelectedListener, Spinner.OnItemSelectedListener, Colorable { diff --git a/ring-android/app/src/main/java/cx/ring/client/LogsActivity.java b/ring-android/app/src/main/java/cx/ring/client/LogsActivity.java index 07f7d2cd6..4cc27d633 100644 --- a/ring-android/app/src/main/java/cx/ring/client/LogsActivity.java +++ b/ring-android/app/src/main/java/cx/ring/client/LogsActivity.java @@ -50,11 +50,11 @@ import cx.ring.application.JamiApplication; import cx.ring.databinding.ActivityLogsBinding; import cx.ring.utils.AndroidFileUtils; import cx.ring.utils.ContentUriHandler; -import io.reactivex.Maybe; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.disposables.Disposable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.schedulers.Schedulers; public class LogsActivity extends AppCompatActivity { private static final String TAG = LogsActivity.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/client/RingtoneActivity.java b/ring-android/app/src/main/java/cx/ring/client/RingtoneActivity.java index 1eb2f8628..069fbdaaf 100644 --- a/ring-android/app/src/main/java/cx/ring/client/RingtoneActivity.java +++ b/ring-android/app/src/main/java/cx/ring/client/RingtoneActivity.java @@ -59,9 +59,10 @@ import net.jami.model.ConfigKey; import net.jami.model.Ringtone; import net.jami.services.AccountService; import cx.ring.utils.AndroidFileUtils; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.Disposable; + import net.jami.utils.Log; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.Disposable; public class RingtoneActivity extends AppCompatActivity { @@ -366,7 +367,7 @@ public class RingtoneActivity extends AppCompatActivity { cr.takePersistableUriPermission(uri, takeFlags); AndroidFileUtils.getCacheFile(this, uri) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(file -> onFileFound(file), + .subscribe(this::onFileFound, err -> Toast.makeText(this, "Can't load ringtone !", Toast.LENGTH_SHORT).show()); } } diff --git a/ring-android/app/src/main/java/cx/ring/contactrequests/ContactRequestsFragment.java b/ring-android/app/src/main/java/cx/ring/contactrequests/ContactRequestsFragment.java index a8171d6b5..e43507f9d 100644 --- a/ring-android/app/src/main/java/cx/ring/contactrequests/ContactRequestsFragment.java +++ b/ring-android/app/src/main/java/cx/ring/contactrequests/ContactRequestsFragment.java @@ -45,7 +45,7 @@ import cx.ring.mvp.BaseSupportFragment; import net.jami.smartlist.SmartListViewModel; import cx.ring.viewholders.SmartListViewHolder; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class ContactRequestsFragment extends BaseSupportFragment<ContactRequestsPresenter> implements ContactRequestsView, SmartListViewHolder.SmartListListeners { diff --git a/ring-android/app/src/main/java/cx/ring/dependencyinjection/JamiInjectionModule.java b/ring-android/app/src/main/java/cx/ring/dependencyinjection/JamiInjectionModule.java index a8e387cfc..85878a2cf 100755 --- a/ring-android/app/src/main/java/cx/ring/dependencyinjection/JamiInjectionModule.java +++ b/ring-android/app/src/main/java/cx/ring/dependencyinjection/JamiInjectionModule.java @@ -24,8 +24,8 @@ import android.content.Context; import cx.ring.application.JamiApplication; import dagger.Module; import dagger.Provides; -import io.reactivex.Scheduler; -import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Scheduler; @Module public class JamiInjectionModule { diff --git a/ring-android/app/src/main/java/cx/ring/dependencyinjection/ServiceInjectionModule.java b/ring-android/app/src/main/java/cx/ring/dependencyinjection/ServiceInjectionModule.java index 5bf1bfb89..35214e764 100755 --- a/ring-android/app/src/main/java/cx/ring/dependencyinjection/ServiceInjectionModule.java +++ b/ring-android/app/src/main/java/cx/ring/dependencyinjection/ServiceInjectionModule.java @@ -52,8 +52,8 @@ import cx.ring.services.SharedPreferencesServiceImpl; import cx.ring.services.VCardServiceImpl; import dagger.Module; import dagger.Provides; -import io.reactivex.Scheduler; -import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Scheduler; @Module public class ServiceInjectionModule { diff --git a/ring-android/app/src/main/java/cx/ring/fragments/AccountMigrationFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/AccountMigrationFragment.java index 9f47d587b..99ec80a0f 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/AccountMigrationFragment.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/AccountMigrationFragment.java @@ -45,12 +45,13 @@ import com.google.android.material.dialog.MaterialAlertDialogBuilder; import cx.ring.R; import cx.ring.application.JamiApplication; import cx.ring.databinding.FragAccountMigrationBinding; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; + import net.jami.model.Account; import net.jami.model.AccountConfig; import net.jami.model.ConfigKey; import net.jami.services.AccountService; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; public class AccountMigrationFragment extends Fragment { public static final String ACCOUNT_ID = "ACCOUNT_ID"; diff --git a/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java index 05774ee7a..3092a0220 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/CallFragment.java @@ -127,7 +127,7 @@ import cx.ring.utils.ConversationPath; import cx.ring.utils.DeviceUtils; import cx.ring.utils.MediaButtonsHelper; import cx.ring.views.AvatarDrawable; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class CallFragment extends BaseSupportFragment<CallPresenter> implements CallView, MediaButtonsHelper.MediaButtonsHelperCallback, RecyclerPickerLayoutManager.ItemSelectedListener { diff --git a/ring-android/app/src/main/java/cx/ring/fragments/ContactPickerFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/ContactPickerFragment.java index e7b51b4c9..0a3fa87fb 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/ContactPickerFragment.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/ContactPickerFragment.java @@ -31,8 +31,8 @@ import net.jami.model.Contact; import net.jami.smartlist.SmartListViewModel; import cx.ring.viewholders.SmartListViewHolder; import cx.ring.views.AvatarDrawable; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class ContactPickerFragment extends BottomSheetDialogFragment { diff --git a/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java index 037ad09f0..ec1c548c8 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/ConversationFragment.java @@ -33,8 +33,8 @@ import android.content.Intent; import android.content.ServiceConnection; import android.content.SharedPreferences; import android.content.pm.PackageManager; -import android.graphics.Typeface; import android.content.res.Resources; +import android.graphics.Typeface; import android.os.Bundle; import android.os.Environment; import android.os.IBinder; @@ -56,8 +56,6 @@ import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; -import com.google.android.material.snackbar.Snackbar; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.view.menu.MenuBuilder; @@ -71,6 +69,21 @@ import androidx.recyclerview.widget.DefaultItemAnimator; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; +import com.google.android.material.snackbar.Snackbar; + +import net.jami.conversation.ConversationPresenter; +import net.jami.conversation.ConversationView; +import net.jami.daemon.JamiService; +import net.jami.model.Account; +import net.jami.model.Contact; +import net.jami.model.Conversation; +import net.jami.model.DataTransfer; +import net.jami.model.Error; +import net.jami.model.Interaction; +import net.jami.model.Phone; +import net.jami.model.Uri; +import net.jami.services.NotificationService; + import java.io.File; import java.util.HashMap; import java.util.List; @@ -83,39 +96,26 @@ import cx.ring.client.CallActivity; import cx.ring.client.ContactDetailsActivity; import cx.ring.client.ConversationActivity; import cx.ring.client.HomeActivity; -import cx.ring.views.AvatarFactory; -import net.jami.conversation.ConversationPresenter; -import net.jami.conversation.ConversationView; import cx.ring.databinding.FragConversationBinding; import cx.ring.interfaces.Colorable; - -import net.jami.daemon.JamiService; -import net.jami.model.Account; -import net.jami.model.Contact; -import net.jami.model.Conversation; -import net.jami.model.Interaction; -import net.jami.model.DataTransfer; -import net.jami.model.Phone; -import net.jami.model.Error; -import net.jami.model.Uri; import cx.ring.mvp.BaseSupportFragment; import cx.ring.service.DRingService; -import cx.ring.services.LocationSharingService; -import net.jami.services.NotificationService; +import cx.ring.service.LocationSharingService; import cx.ring.services.NotificationServiceImpl; import cx.ring.services.SharedPreferencesServiceImpl; import cx.ring.utils.ActionHelper; import cx.ring.utils.AndroidFileUtils; import cx.ring.utils.ContentUriHandler; -import cx.ring.utils.DeviceUtils; import cx.ring.utils.ConversationPath; +import cx.ring.utils.DeviceUtils; import cx.ring.utils.MediaButtonsHelper; import cx.ring.views.AvatarDrawable; -import io.reactivex.Completable; -import io.reactivex.Single; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.schedulers.Schedulers; +import cx.ring.views.AvatarFactory; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.schedulers.Schedulers; import static android.app.Activity.RESULT_OK; diff --git a/ring-android/app/src/main/java/cx/ring/fragments/GeneralAccountPresenter.java b/ring-android/app/src/main/java/cx/ring/fragments/GeneralAccountPresenter.java index ff00edfe7..32690a975 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/GeneralAccountPresenter.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/GeneralAccountPresenter.java @@ -31,7 +31,8 @@ import net.jami.mvp.RootPresenter; import net.jami.services.AccountService; import net.jami.services.HardwareService; import net.jami.services.PreferencesService; -import io.reactivex.Scheduler; + +import io.reactivex.rxjava3.core.Scheduler; public class GeneralAccountPresenter extends RootPresenter<GeneralAccountView> { diff --git a/ring-android/app/src/main/java/cx/ring/fragments/LocationSharingFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/LocationSharingFragment.java index 05714a4e6..0e5147747 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/LocationSharingFragment.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/LocationSharingFragment.java @@ -82,12 +82,12 @@ import cx.ring.databinding.FragLocationSharingBinding; import cx.ring.services.LocationSharingService; import cx.ring.utils.ConversationPath; import cx.ring.utils.TouchClickListener; -import io.reactivex.Observable; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.disposables.Disposable; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.Subject; public class LocationSharingFragment extends Fragment { private static final String TAG = LocationSharingFragment.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/fragments/MediaPreferencePresenter.java b/ring-android/app/src/main/java/cx/ring/fragments/MediaPreferencePresenter.java index ca5882631..15085da4d 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/MediaPreferencePresenter.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/MediaPreferencePresenter.java @@ -32,7 +32,8 @@ import net.jami.model.ConfigKey; import net.jami.mvp.RootPresenter; import net.jami.services.AccountService; import net.jami.services.DeviceRuntimeService; -import io.reactivex.Scheduler; + +import io.reactivex.rxjava3.core.Scheduler; public class MediaPreferencePresenter extends RootPresenter<MediaPreferenceView> { diff --git a/ring-android/app/src/main/java/cx/ring/fragments/ShareWithFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/ShareWithFragment.java index fd739b2ee..3671a9289 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/ShareWithFragment.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/ShareWithFragment.java @@ -50,8 +50,8 @@ import cx.ring.client.ConversationActivity; import cx.ring.databinding.FragSharewithBinding; import cx.ring.utils.ConversationPath; import cx.ring.viewholders.SmartListViewHolder; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class ShareWithFragment extends Fragment { private final static String TAG = ShareWithFragment.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/fragments/SmartListFragment.java b/ring-android/app/src/main/java/cx/ring/fragments/SmartListFragment.java index 8984f9094..0e223106b 100644 --- a/ring-android/app/src/main/java/cx/ring/fragments/SmartListFragment.java +++ b/ring-android/app/src/main/java/cx/ring/fragments/SmartListFragment.java @@ -74,7 +74,7 @@ import cx.ring.utils.ClipboardHelper; import cx.ring.utils.ConversationPath; import cx.ring.utils.DeviceUtils; import cx.ring.viewholders.SmartListViewHolder; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class SmartListFragment extends BaseSupportFragment<SmartListPresenter> implements SearchView.OnQueryTextListener, SmartListViewHolder.SmartListListeners, diff --git a/ring-android/app/src/main/java/cx/ring/service/DRingService.java b/ring-android/app/src/main/java/cx/ring/service/DRingService.java index 743ac70b2..7961014f7 100644 --- a/ring-android/app/src/main/java/cx/ring/service/DRingService.java +++ b/ring-android/app/src/main/java/cx/ring/service/DRingService.java @@ -74,7 +74,7 @@ import net.jami.services.PreferencesService; import cx.ring.tv.call.TVCallActivity; import cx.ring.utils.ConversationPath; import cx.ring.utils.DeviceUtils; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class DRingService extends Service { private static final String TAG = DRingService.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/services/CameraService.java b/ring-android/app/src/main/java/cx/ring/services/CameraService.java index 711390b92..5dbf140e4 100644 --- a/ring-android/app/src/main/java/cx/ring/services/CameraService.java +++ b/ring-android/app/src/main/java/cx/ring/services/CameraService.java @@ -73,13 +73,13 @@ import net.jami.daemon.StringMap; import net.jami.daemon.UintVect; import net.jami.utils.Tuple; import cx.ring.views.AutoFitTextureView; -import io.reactivex.Completable; -import io.reactivex.Maybe; -import io.reactivex.Observable; -import io.reactivex.Single; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.Subject; public class CameraService { private static final String TAG = CameraService.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/services/ContactServiceImpl.java b/ring-android/app/src/main/java/cx/ring/services/ContactServiceImpl.java index 91d412c9b..cf9cccf02 100644 --- a/ring-android/app/src/main/java/cx/ring/services/ContactServiceImpl.java +++ b/ring-android/app/src/main/java/cx/ring/services/ContactServiceImpl.java @@ -47,9 +47,9 @@ import javax.inject.Inject; import cx.ring.utils.AndroidFileUtils; import cx.ring.views.AvatarFactory; import ezvcard.VCard; -import io.reactivex.Completable; -import io.reactivex.Single; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; public class ContactServiceImpl extends ContactService { diff --git a/ring-android/app/src/main/java/cx/ring/services/HardwareServiceImpl.java b/ring-android/app/src/main/java/cx/ring/services/HardwareServiceImpl.java index 5800dac5a..e5ec57866 100644 --- a/ring-android/app/src/main/java/cx/ring/services/HardwareServiceImpl.java +++ b/ring-android/app/src/main/java/cx/ring/services/HardwareServiceImpl.java @@ -56,9 +56,10 @@ import cx.ring.utils.BluetoothWrapper; import net.jami.services.HardwareService; import net.jami.utils.Log; import cx.ring.utils.Ringer; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Observable; + import net.jami.utils.Tuple; -import io.reactivex.Completable; -import io.reactivex.Observable; public class HardwareServiceImpl extends HardwareService implements AudioManager.OnAudioFocusChangeListener, BluetoothWrapper.BluetoothChangeListener { diff --git a/ring-android/app/src/main/java/cx/ring/services/LocationSharingService.java b/ring-android/app/src/main/java/cx/ring/services/LocationSharingService.java index def031e9f..334b2da52 100644 --- a/ring-android/app/src/main/java/cx/ring/services/LocationSharingService.java +++ b/ring-android/app/src/main/java/cx/ring/services/LocationSharingService.java @@ -71,15 +71,15 @@ import net.jami.services.AccountService; import net.jami.services.CallService; import cx.ring.utils.ConversationPath; -import io.reactivex.Observable; -import io.reactivex.ObservableSource; -import io.reactivex.Observer; -import io.reactivex.Single; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.schedulers.Schedulers; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableSource; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.schedulers.Schedulers; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.Subject; public class LocationSharingService extends Service implements LocationListener { private static final String TAG = "LocationSharingService"; @@ -103,7 +103,7 @@ public class LocationSharingService extends Service implements LocationListener private boolean started = false; private LocationManager mLocationManager; - private NotificationManager mNoticationManager; + private NotificationManager mNotificationManager; private SharedPreferences mPreferences; private Handler mHandler; @@ -126,10 +126,10 @@ public class LocationSharingService extends Service implements LocationListener public Observable<Long> getContactSharingExpiration(ConversationPath path) { return Observable.timer(1, TimeUnit.SECONDS, AndroidSchedulers.mainThread()) - .startWith(0L) + .startWithItem(0L) .repeat() .map(i -> contactLocationShare.get(path).getTime() - SystemClock.elapsedRealtime()) - .onErrorResumeNext((ObservableSource<Long>) Observer::onComplete); + .onErrorComplete(); } @Override @@ -137,7 +137,7 @@ public class LocationSharingService extends Service implements LocationListener ((JamiApplication) getApplication()).getInjectionComponent().inject(this); mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); - mNoticationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); + mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mPreferences = getSharedPreferences(PREFERENCES_LOCATION, Context.MODE_PRIVATE); mHandler = new Handler(getMainLooper()); String posLongitude = mPreferences.getString(PREFERENCES_KEY_POS_LONG, null); @@ -220,7 +220,7 @@ public class LocationSharingService extends Service implements LocationListener })); } else { mDisposableBag.add(getNotification(now) - .subscribe(notification -> mNoticationManager.notify(NOTIF_SYNC_SERVICE_ID, notification))); + .subscribe(notification -> mNotificationManager.notify(NOTIF_SYNC_SERVICE_ID, notification))); } } else if (ACTION_STOP.equals(action)) { @@ -253,7 +253,7 @@ public class LocationSharingService extends Service implements LocationListener started = false; } else { mDisposableBag.add(getNotification(now) - .subscribe(notification -> mNoticationManager.notify(NOTIF_SYNC_SERVICE_ID, notification))); + .subscribe(notification -> mNotificationManager.notify(NOTIF_SYNC_SERVICE_ID, notification))); } } return START_NOT_STICKY; @@ -382,7 +382,7 @@ public class LocationSharingService extends Service implements LocationListener started = false; } else if (changed) { mDisposableBag.add(getNotification(now.getTime()) - .subscribe(notification -> mNoticationManager.notify(NOTIF_SYNC_SERVICE_ID, notification))); + .subscribe(notification -> mNotificationManager.notify(NOTIF_SYNC_SERVICE_ID, notification))); } } @@ -391,7 +391,7 @@ public class LocationSharingService extends Service implements LocationListener return; long now = SystemClock.uptimeMillis(); mDisposableBag.add(getNotification(now) - .subscribe(notification -> mNoticationManager.notify(NOTIF_SYNC_SERVICE_ID, notification))); + .subscribe(notification -> mNotificationManager.notify(NOTIF_SYNC_SERVICE_ID, notification))); mHandler.postAtTime(this::refreshNotificationTimer, now + (30 * 1000)); } diff --git a/ring-android/app/src/main/java/cx/ring/services/VCardServiceImpl.java b/ring-android/app/src/main/java/cx/ring/services/VCardServiceImpl.java index 098259f9e..f7e860f4d 100644 --- a/ring-android/app/src/main/java/cx/ring/services/VCardServiceImpl.java +++ b/ring-android/app/src/main/java/cx/ring/services/VCardServiceImpl.java @@ -38,9 +38,9 @@ import ezvcard.VCard; import ezvcard.parameter.ImageType; import ezvcard.property.Photo; import ezvcard.property.RawProperty; -import io.reactivex.Maybe; -import io.reactivex.Single; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; public class VCardServiceImpl extends VCardService { diff --git a/ring-android/app/src/main/java/cx/ring/settings/AccountFragment.java b/ring-android/app/src/main/java/cx/ring/settings/AccountFragment.java index cb7f393d9..b712255c6 100644 --- a/ring-android/app/src/main/java/cx/ring/settings/AccountFragment.java +++ b/ring-android/app/src/main/java/cx/ring/settings/AccountFragment.java @@ -40,8 +40,8 @@ import cx.ring.account.JamiAccountSummaryFragment; import cx.ring.application.JamiApplication; import cx.ring.client.HomeActivity; import cx.ring.databinding.FragAccountBinding; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; import net.jami.services.AccountService; diff --git a/ring-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginPathPreferenceFragment.java b/ring-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginPathPreferenceFragment.java index 2638f6c70..56c1d2574 100644 --- a/ring-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginPathPreferenceFragment.java +++ b/ring-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginPathPreferenceFragment.java @@ -43,7 +43,7 @@ import cx.ring.R; import cx.ring.client.HomeActivity; import cx.ring.databinding.FragPluginsPathPreferenceBinding; import cx.ring.utils.AndroidFileUtils; -import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; public class PluginPathPreferenceFragment extends Fragment implements PathListAdapter.PathListItemListener { diff --git a/ring-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListSettingsFragment.java b/ring-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListSettingsFragment.java index 10eae2020..0c503ca28 100644 --- a/ring-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListSettingsFragment.java +++ b/ring-android/app/src/main/java/cx/ring/settings/pluginssettings/PluginsListSettingsFragment.java @@ -30,8 +30,8 @@ import cx.ring.client.HomeActivity; import cx.ring.databinding.FragPluginsListSettingsBinding; import cx.ring.plugins.PluginUtils; import cx.ring.utils.AndroidFileUtils; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class PluginsListSettingsFragment extends Fragment implements PluginsListAdapter.PluginListItemListener { diff --git a/ring-android/app/src/main/java/cx/ring/tv/account/TVAccountWizard.java b/ring-android/app/src/main/java/cx/ring/tv/account/TVAccountWizard.java index 433b67003..72a392148 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/account/TVAccountWizard.java +++ b/ring-android/app/src/main/java/cx/ring/tv/account/TVAccountWizard.java @@ -42,8 +42,8 @@ import net.jami.mvp.AccountCreationModel; import cx.ring.mvp.BaseActivity; import net.jami.utils.VCardUtils; import ezvcard.VCard; -import io.reactivex.Single; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; public class TVAccountWizard extends BaseActivity<AccountWizardPresenter> diff --git a/ring-android/app/src/main/java/cx/ring/tv/account/TVProfileCreationFragment.java b/ring-android/app/src/main/java/cx/ring/tv/account/TVProfileCreationFragment.java index 1fa905d90..e844557cc 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/account/TVProfileCreationFragment.java +++ b/ring-android/app/src/main/java/cx/ring/tv/account/TVProfileCreationFragment.java @@ -53,7 +53,7 @@ import net.jami.mvp.AccountCreationModel; import cx.ring.tv.camera.CustomCameraActivity; import cx.ring.utils.AndroidFileUtils; import cx.ring.views.AvatarDrawable; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; public class TVProfileCreationFragment extends JamiGuidedStepFragment<ProfileCreationPresenter> implements ProfileCreationView { diff --git a/ring-android/app/src/main/java/cx/ring/tv/account/TVProfileEditingFragment.java b/ring-android/app/src/main/java/cx/ring/tv/account/TVProfileEditingFragment.java index 3300106f8..646aa46eb 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/account/TVProfileEditingFragment.java +++ b/ring-android/app/src/main/java/cx/ring/tv/account/TVProfileEditingFragment.java @@ -49,9 +49,9 @@ import cx.ring.tv.camera.CustomCameraActivity; import cx.ring.utils.AndroidFileUtils; import cx.ring.utils.BitmapUtils; import cx.ring.views.AvatarDrawable; -import io.reactivex.Single; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; public class TVProfileEditingFragment extends JamiGuidedStepFragment<HomeNavigationPresenter> implements HomeNavigationView { diff --git a/ring-android/app/src/main/java/cx/ring/tv/account/TVShareFragment.java b/ring-android/app/src/main/java/cx/ring/tv/account/TVShareFragment.java index 45d56eb91..5dc6994b1 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/account/TVShareFragment.java +++ b/ring-android/app/src/main/java/cx/ring/tv/account/TVShareFragment.java @@ -40,8 +40,8 @@ import net.jami.share.ShareViewModel; import net.jami.utils.Log; import net.jami.utils.QRCodeUtils; import cx.ring.views.AvatarDrawable; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class TVShareFragment extends BaseSupportFragment<SharePresenter> implements GenericView<ShareViewModel> { diff --git a/ring-android/app/src/main/java/cx/ring/tv/call/TVCallFragment.java b/ring-android/app/src/main/java/cx/ring/tv/call/TVCallFragment.java index 6c411718f..39b372e7f 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/call/TVCallFragment.java +++ b/ring-android/app/src/main/java/cx/ring/tv/call/TVCallFragment.java @@ -94,7 +94,6 @@ import cx.ring.utils.ActionHelper; import cx.ring.utils.ContentUriHandler; import cx.ring.utils.ConversationPath; import cx.ring.views.AvatarDrawable; -import io.reactivex.disposables.CompositeDisposable; public class TVCallFragment extends BaseSupportFragment<CallPresenter> implements CallView { @@ -112,7 +111,6 @@ public class TVCallFragment extends BaseSupportFragment<CallPresenter> implement // Screen wake lock for incoming call private Runnable runnable; - private final CompositeDisposable mCompositeDisposable = new CompositeDisposable(); private int mPreviewWidth = 720, mPreviewHeight = 1280; private int mPreviewWidthRot = 720, mPreviewHeightRot = 1280; private PowerManager.WakeLock mScreenWakeLock; @@ -264,7 +262,6 @@ public class TVCallFragment extends BaseSupportFragment<CallPresenter> implement @Override public void onDestroyView() { super.onDestroyView(); - mCompositeDisposable.clear(); if (mScreenWakeLock != null && mScreenWakeLock.isHeld()) { mScreenWakeLock.release(); } diff --git a/ring-android/app/src/main/java/cx/ring/tv/camera/CustomCameraActivity.java b/ring-android/app/src/main/java/cx/ring/tv/camera/CustomCameraActivity.java index bb58ab536..2c503874d 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/camera/CustomCameraActivity.java +++ b/ring-android/app/src/main/java/cx/ring/tv/camera/CustomCameraActivity.java @@ -45,10 +45,10 @@ import cx.ring.R; import cx.ring.databinding.CamerapickerBinding; import cx.ring.utils.AndroidFileUtils; import cx.ring.utils.ContentUriHandler; -import io.reactivex.Single; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.schedulers.Schedulers; @SuppressWarnings("deprecation") public class CustomCameraActivity extends Activity { diff --git a/ring-android/app/src/main/java/cx/ring/tv/contact/TVContactPresenter.java b/ring-android/app/src/main/java/cx/ring/tv/contact/TVContactPresenter.java index 527218aae..410f956e0 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/contact/TVContactPresenter.java +++ b/ring-android/app/src/main/java/cx/ring/tv/contact/TVContactPresenter.java @@ -34,8 +34,9 @@ import net.jami.services.AccountService; import net.jami.services.VCardService; import net.jami.smartlist.SmartListViewModel; import cx.ring.utils.ConversationPath; +import io.reactivex.rxjava3.core.Scheduler; + import net.jami.utils.VCardUtils; -import io.reactivex.Scheduler; public class TVContactPresenter extends RootPresenter<TVContactView> { diff --git a/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationAdapter.java b/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationAdapter.java index 0eb649d75..048f508ff 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationAdapter.java +++ b/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationAdapter.java @@ -84,9 +84,9 @@ import cx.ring.utils.ContentUriHandler; import cx.ring.utils.GlideApp; import cx.ring.utils.GlideOptions; import cx.ring.utils.ResourceMapper; -import io.reactivex.Observable; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.schedulers.Schedulers; public class TvConversationAdapter extends RecyclerView.Adapter<TvConversationViewHolder> { private final static String TAG = TvConversationAdapter.class.getSimpleName(); @@ -134,7 +134,7 @@ public class TvConversationAdapter extends RecyclerView.Adapter<TvConversationVi timestampUpdateTimer = Observable.interval(10, TimeUnit.SECONDS) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .startWith(0L); + .startWithItem(0L); } /** @@ -584,7 +584,7 @@ public class TvConversationAdapter extends RecyclerView.Adapter<TvConversationVi viewHolder.compositeDisposable.add(Observable.interval(1L, TimeUnit.SECONDS) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .startWith(0L) + .startWithItem(0L) .subscribe(t -> { int pS = player.getCurrentPosition() / 1000; int dS = player.getDuration() / 1000; diff --git a/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationFragment.java b/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationFragment.java index 0e93ea008..23c5ff6c9 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationFragment.java +++ b/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationFragment.java @@ -81,10 +81,10 @@ import cx.ring.utils.ContentUriHandler; import cx.ring.utils.ConversationPath; import net.jami.utils.StringUtils; import cx.ring.views.AvatarDrawable; -import io.reactivex.Completable; -import io.reactivex.Single; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class TvConversationFragment extends BaseSupportFragment<ConversationPresenter> implements ConversationView { private static final String TAG = TvConversationFragment.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationViewHolder.java b/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationViewHolder.java index 1a038a773..de78c6acf 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationViewHolder.java +++ b/ring-android/app/src/main/java/cx/ring/tv/conversation/TvConversationViewHolder.java @@ -33,7 +33,7 @@ import android.widget.TextView; import androidx.recyclerview.widget.RecyclerView; import cx.ring.R; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class TvConversationViewHolder extends RecyclerView.ViewHolder { public TextView mMsgTxt; diff --git a/ring-android/app/src/main/java/cx/ring/tv/main/HomeActivity.java b/ring-android/app/src/main/java/cx/ring/tv/main/HomeActivity.java index e24566ffe..d1b351edc 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/main/HomeActivity.java +++ b/ring-android/app/src/main/java/cx/ring/tv/main/HomeActivity.java @@ -34,8 +34,8 @@ import javax.inject.Inject; import cx.ring.R; import cx.ring.application.JamiApplication; import cx.ring.tv.account.TVAccountWizard; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class HomeActivity extends FragmentActivity { private BackgroundManager mBackgroundManager; diff --git a/ring-android/app/src/main/java/cx/ring/tv/main/MainFragment.java b/ring-android/app/src/main/java/cx/ring/tv/main/MainFragment.java index 92d37c83f..93a909e58 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/main/MainFragment.java +++ b/ring-android/app/src/main/java/cx/ring/tv/main/MainFragment.java @@ -92,11 +92,11 @@ import cx.ring.utils.ContentUriHandler; import cx.ring.utils.ConversationPath; import net.jami.utils.QRCodeUtils; import cx.ring.views.AvatarDrawable; -import io.reactivex.Observable; -import io.reactivex.Single; -import io.reactivex.android.schedulers.AndroidSchedulers; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.schedulers.Schedulers; public class MainFragment extends BaseBrowseFragment<MainPresenter> implements MainView { diff --git a/ring-android/app/src/main/java/cx/ring/tv/main/MainPresenter.java b/ring-android/app/src/main/java/cx/ring/tv/main/MainPresenter.java index e3df05af6..c3515f2a8 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/main/MainPresenter.java +++ b/ring-android/app/src/main/java/cx/ring/tv/main/MainPresenter.java @@ -34,8 +34,9 @@ import net.jami.mvp.RootPresenter; import net.jami.navigation.HomeNavigationViewModel; import net.jami.services.AccountService; import net.jami.smartlist.SmartListViewModel; -import io.reactivex.Observable; -import io.reactivex.Scheduler; + +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Scheduler; public class MainPresenter extends RootPresenter<MainView> { diff --git a/ring-android/app/src/main/java/cx/ring/tv/search/ContactSearchPresenter.java b/ring-android/app/src/main/java/cx/ring/tv/search/ContactSearchPresenter.java index 1c5edc46b..ba0994e23 100644 --- a/ring-android/app/src/main/java/cx/ring/tv/search/ContactSearchPresenter.java +++ b/ring-android/app/src/main/java/cx/ring/tv/search/ContactSearchPresenter.java @@ -33,8 +33,9 @@ import net.jami.services.AccountService; import net.jami.services.HardwareService; import net.jami.services.VCardService; import net.jami.smartlist.SmartListViewModel; -import io.reactivex.Scheduler; -import io.reactivex.subjects.PublishSubject; + +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.subjects.PublishSubject; public class ContactSearchPresenter extends RootPresenter<ContactSearchView> { diff --git a/ring-android/app/src/main/java/cx/ring/utils/AndroidFileUtils.java b/ring-android/app/src/main/java/cx/ring/utils/AndroidFileUtils.java index 73455d21b..8e0299a44 100644 --- a/ring-android/app/src/main/java/cx/ring/utils/AndroidFileUtils.java +++ b/ring-android/app/src/main/java/cx/ring/utils/AndroidFileUtils.java @@ -55,9 +55,9 @@ import androidx.annotation.NonNull; import net.jami.model.Conversation; import net.jami.utils.FileUtils; -import io.reactivex.Completable; -import io.reactivex.Single; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; public class AndroidFileUtils { @@ -310,7 +310,8 @@ public class AndroidFileUtils { * @param uri uri of the * @return Single<File> which points to the newly created copy in the cache */ - public static @NonNull Single<File> getCacheFile(@NonNull Context context, @NonNull Uri uri) { + public static @NonNull + Single<File> getCacheFile(@NonNull Context context, @NonNull Uri uri) { ContentResolver contentResolver = context.getContentResolver(); File cacheDir = context.getCacheDir(); return Single.fromCallable(() -> { diff --git a/ring-android/app/src/main/java/cx/ring/viewholders/SmartListViewHolder.java b/ring-android/app/src/main/java/cx/ring/viewholders/SmartListViewHolder.java index 61e03b2d4..d3e6d16cd 100644 --- a/ring-android/app/src/main/java/cx/ring/viewholders/SmartListViewHolder.java +++ b/ring-android/app/src/main/java/cx/ring/viewholders/SmartListViewHolder.java @@ -22,6 +22,7 @@ package cx.ring.viewholders; import android.content.Context; import android.graphics.Typeface; import android.text.format.DateUtils; +import android.util.Log; import android.view.View; import androidx.annotation.NonNull; @@ -32,15 +33,12 @@ import net.jami.model.ContactEvent; import net.jami.model.Interaction; import net.jami.smartlist.SmartListViewModel; -import java.util.concurrent.TimeUnit; - import cx.ring.R; import cx.ring.databinding.ItemSmartlistBinding; import cx.ring.databinding.ItemSmartlistHeaderBinding; import cx.ring.utils.ResourceMapper; import cx.ring.views.AvatarDrawable; -import io.reactivex.Observable; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class SmartListViewHolder extends RecyclerView.ViewHolder { public final ItemSmartlistBinding binding; @@ -66,13 +64,11 @@ public class SmartListViewHolder extends RecyclerView.ViewHolder { compositeDisposable.clear(); if (binding != null) { - compositeDisposable.add(Observable.create(e -> itemView.setOnClickListener(e::onNext)) - .throttleFirst(1000, TimeUnit.MILLISECONDS) - .subscribe(v -> clickListener.onItemClick(smartListViewModel))); - Observable<Boolean> isSelected = smartListViewModel.getSelected(); - if (isSelected != null) { - compositeDisposable.add(isSelected.subscribe(binding.itemLayout::setActivated)); - } + itemView.setOnClickListener(v -> clickListener.onItemClick(smartListViewModel)); + compositeDisposable.add(smartListViewModel.getSelected().subscribe(selected -> { + Log.w("SmartListViewHolder", "selected " + selected + " " + smartListViewModel.getContactName()); + binding.itemLayout.setActivated(selected); + })); itemView.setOnLongClickListener(v -> { clickListener.onItemLongClick(smartListViewModel); return true; diff --git a/ring-android/app/src/main/java/cx/ring/views/AvatarDrawable.java b/ring-android/app/src/main/java/cx/ring/views/AvatarDrawable.java index 66987a724..b8ec20818 100644 --- a/ring-android/app/src/main/java/cx/ring/views/AvatarDrawable.java +++ b/ring-android/app/src/main/java/cx/ring/views/AvatarDrawable.java @@ -35,7 +35,6 @@ import android.graphics.Typeface; import android.graphics.drawable.Drawable; import android.graphics.drawable.VectorDrawable; import android.text.TextUtils; -import android.util.Log; import android.util.TypedValue; import androidx.annotation.NonNull; @@ -55,7 +54,7 @@ import java.util.List; import cx.ring.R; import cx.ring.services.VCardServiceImpl; import cx.ring.utils.DeviceUtils; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; public class AvatarDrawable extends Drawable { private static final String TAG = AvatarDrawable.class.getSimpleName(); diff --git a/ring-android/app/src/main/java/cx/ring/views/AvatarFactory.java b/ring-android/app/src/main/java/cx/ring/views/AvatarFactory.java index dcb979b08..59a0e59dc 100644 --- a/ring-android/app/src/main/java/cx/ring/views/AvatarFactory.java +++ b/ring-android/app/src/main/java/cx/ring/views/AvatarFactory.java @@ -38,7 +38,7 @@ import net.jami.model.Conversation; import net.jami.smartlist.SmartListViewModel; import cx.ring.utils.BitmapUtils; import cx.ring.views.AvatarDrawable; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; public class AvatarFactory { diff --git a/ring-android/app/src/main/java/cx/ring/views/ConversationViewHolder.java b/ring-android/app/src/main/java/cx/ring/views/ConversationViewHolder.java index 10b4c2152..12eaa4428 100644 --- a/ring-android/app/src/main/java/cx/ring/views/ConversationViewHolder.java +++ b/ring-android/app/src/main/java/cx/ring/views/ConversationViewHolder.java @@ -35,7 +35,7 @@ import android.widget.TextView; import cx.ring.R; import cx.ring.adapters.ConversationAdapter; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public class ConversationViewHolder extends RecyclerView.ViewHolder { public ConversationAdapter.MessageType type; diff --git a/ring-android/app/src/main/java/cx/ring/views/ParticipantView.java b/ring-android/app/src/main/java/cx/ring/views/ParticipantView.java index 831aad32b..057ba1c77 100644 --- a/ring-android/app/src/main/java/cx/ring/views/ParticipantView.java +++ b/ring-android/app/src/main/java/cx/ring/views/ParticipantView.java @@ -4,7 +4,7 @@ import androidx.annotation.NonNull; import androidx.recyclerview.widget.RecyclerView; import cx.ring.databinding.ItemConferenceParticipantBinding; -import io.reactivex.disposables.Disposable; +import io.reactivex.rxjava3.disposables.Disposable; public class ParticipantView extends RecyclerView.ViewHolder { public final ItemConferenceParticipantBinding binding; diff --git a/ring-android/libringclient/build.gradle b/ring-android/libringclient/build.gradle index 7ab42b7dc..1c2cde6f8 100644 --- a/ring-android/libringclient/build.gradle +++ b/ring-android/libringclient/build.gradle @@ -20,7 +20,7 @@ dependencies { testImplementation 'junit:junit:4.13.2' // RxJava - implementation 'io.reactivex.rxjava2:rxjava:2.2.21' + implementation 'io.reactivex.rxjava3:rxjava:3.0.10' // gson implementation 'com.google.code.gson:gson:2.8.7' diff --git a/ring-android/libringclient/src/main/java/net/jami/account/AccountWizardPresenter.java b/ring-android/libringclient/src/main/java/net/jami/account/AccountWizardPresenter.java index fb55e4fd9..0a8722aad 100644 --- a/ring-android/libringclient/src/main/java/net/jami/account/AccountWizardPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/account/AccountWizardPresenter.java @@ -19,10 +19,6 @@ */ package net.jami.account; -import net.jami.services.AccountService; -import net.jami.services.DeviceRuntimeService; -import net.jami.services.PreferencesService; - import java.util.HashMap; import java.util.Map; @@ -35,20 +31,24 @@ import net.jami.model.ConfigKey; import net.jami.model.Settings; import net.jami.mvp.AccountCreationModel; import net.jami.mvp.RootPresenter; +import net.jami.services.AccountService; +import net.jami.services.DeviceRuntimeService; +import net.jami.services.PreferencesService; import net.jami.utils.Log; import net.jami.utils.StringUtils; -import io.reactivex.Observable; -import io.reactivex.Scheduler; -import io.reactivex.Single; -import io.reactivex.subjects.BehaviorSubject; + +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.subjects.BehaviorSubject; public class AccountWizardPresenter extends RootPresenter<net.jami.account.AccountWizardView> { public static final String TAG = AccountWizardPresenter.class.getSimpleName(); - private final net.jami.services.AccountService mAccountService; - private final net.jami.services.PreferencesService mPreferences; - private final net.jami.services.DeviceRuntimeService mDeviceService; + private final AccountService mAccountService; + private final PreferencesService mPreferences; + private final DeviceRuntimeService mDeviceService; private final Scheduler mUiScheduler; //private boolean mCreationError = false; @@ -56,7 +56,7 @@ public class AccountWizardPresenter extends RootPresenter<net.jami.account.Accou private String mAccountType; private AccountCreationModel mAccountCreationModel; - private Observable<net.jami.model.Account> newAccount; + private Observable<Account> newAccount; @Inject public AccountWizardPresenter(AccountService accountService, diff --git a/ring-android/libringclient/src/main/java/net/jami/account/AccountWizardView.java b/ring-android/libringclient/src/main/java/net/jami/account/AccountWizardView.java index 870113748..7d927c1a5 100644 --- a/ring-android/libringclient/src/main/java/net/jami/account/AccountWizardView.java +++ b/ring-android/libringclient/src/main/java/net/jami/account/AccountWizardView.java @@ -22,7 +22,7 @@ package net.jami.account; import net.jami.model.Account; import net.jami.mvp.AccountCreationModel; import ezvcard.VCard; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Single; public interface AccountWizardView { diff --git a/ring-android/libringclient/src/main/java/net/jami/account/JamiAccountCreationPresenter.java b/ring-android/libringclient/src/main/java/net/jami/account/JamiAccountCreationPresenter.java index d8217fe8a..f09359c8d 100644 --- a/ring-android/libringclient/src/main/java/net/jami/account/JamiAccountCreationPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/account/JamiAccountCreationPresenter.java @@ -30,8 +30,9 @@ import javax.inject.Named; import net.jami.mvp.AccountCreationModel; import net.jami.mvp.RootPresenter; import net.jami.utils.StringUtils; -import io.reactivex.Scheduler; -import io.reactivex.subjects.PublishSubject; + +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.subjects.PublishSubject; public class JamiAccountCreationPresenter extends RootPresenter<net.jami.account.JamiAccountCreationView> { diff --git a/ring-android/libringclient/src/main/java/net/jami/account/JamiAccountSummaryPresenter.java b/ring-android/libringclient/src/main/java/net/jami/account/JamiAccountSummaryPresenter.java index a0a1b5f9b..88dd843b0 100644 --- a/ring-android/libringclient/src/main/java/net/jami/account/JamiAccountSummaryPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/account/JamiAccountSummaryPresenter.java @@ -38,9 +38,9 @@ import net.jami.utils.VCardUtils; import ezvcard.property.Photo; import ezvcard.property.RawProperty; import ezvcard.property.Uid; -import io.reactivex.Scheduler; -import io.reactivex.Single; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; public class JamiAccountSummaryPresenter extends RootPresenter<net.jami.account.JamiAccountSummaryView> { diff --git a/ring-android/libringclient/src/main/java/net/jami/account/LinkDevicePresenter.java b/ring-android/libringclient/src/main/java/net/jami/account/LinkDevicePresenter.java index 510d4d697..9c914ad71 100644 --- a/ring-android/libringclient/src/main/java/net/jami/account/LinkDevicePresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/account/LinkDevicePresenter.java @@ -30,7 +30,7 @@ import javax.inject.Named; import net.jami.model.Account; import net.jami.mvp.RootPresenter; -import io.reactivex.Scheduler; +import io.reactivex.rxjava3.core.Scheduler; public class LinkDevicePresenter extends RootPresenter<LinkDeviceView> { diff --git a/ring-android/libringclient/src/main/java/net/jami/account/ProfileCreationPresenter.java b/ring-android/libringclient/src/main/java/net/jami/account/ProfileCreationPresenter.java index e347c5393..ab2fb1e7d 100644 --- a/ring-android/libringclient/src/main/java/net/jami/account/ProfileCreationPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/account/ProfileCreationPresenter.java @@ -27,8 +27,9 @@ import javax.inject.Inject; import net.jami.mvp.RootPresenter; import net.jami.utils.Log; -import io.reactivex.Scheduler; -import io.reactivex.Single; + +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.core.Single; public class ProfileCreationPresenter extends RootPresenter<net.jami.account.ProfileCreationView> { diff --git a/ring-android/libringclient/src/main/java/net/jami/call/CallPresenter.java b/ring-android/libringclient/src/main/java/net/jami/call/CallPresenter.java index a11fe3eac..ddb94f4d0 100644 --- a/ring-android/libringclient/src/main/java/net/jami/call/CallPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/call/CallPresenter.java @@ -45,14 +45,14 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Named; -import io.reactivex.Maybe; -import io.reactivex.Observable; -import io.reactivex.Observer; -import io.reactivex.Scheduler; -import io.reactivex.annotations.NonNull; -import io.reactivex.disposables.Disposable; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.annotations.NonNull; +import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Observer; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.Subject; public class CallPresenter extends RootPresenter<CallView> { diff --git a/ring-android/libringclient/src/main/java/net/jami/contactrequests/BlockListPresenter.java b/ring-android/libringclient/src/main/java/net/jami/contactrequests/BlockListPresenter.java index 4fd93b32b..ca74a14c6 100644 --- a/ring-android/libringclient/src/main/java/net/jami/contactrequests/BlockListPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/contactrequests/BlockListPresenter.java @@ -30,7 +30,8 @@ import net.jami.model.Contact; import net.jami.mvp.RootPresenter; import net.jami.services.AccountService; import net.jami.utils.Log; -import io.reactivex.Scheduler; + +import io.reactivex.rxjava3.core.Scheduler; public class BlockListPresenter extends RootPresenter<BlockListView> { static private final String TAG = BlockListPresenter.class.getSimpleName(); diff --git a/ring-android/libringclient/src/main/java/net/jami/contactrequests/ContactRequestsPresenter.java b/ring-android/libringclient/src/main/java/net/jami/contactrequests/ContactRequestsPresenter.java index 4c66792b5..03ff087a2 100644 --- a/ring-android/libringclient/src/main/java/net/jami/contactrequests/ContactRequestsPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/contactrequests/ContactRequestsPresenter.java @@ -32,9 +32,10 @@ import net.jami.mvp.RootPresenter; import net.jami.services.AccountService; import net.jami.smartlist.SmartListViewModel; import net.jami.utils.Log; -import io.reactivex.Observable; -import io.reactivex.Scheduler; -import io.reactivex.subjects.BehaviorSubject; + +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.subjects.BehaviorSubject; public class ContactRequestsPresenter extends RootPresenter<net.jami.contactrequests.ContactRequestsView> { diff --git a/ring-android/libringclient/src/main/java/net/jami/contactrequests/ContactRequestsView.java b/ring-android/libringclient/src/main/java/net/jami/contactrequests/ContactRequestsView.java index b94d7ad23..ca32ddac2 100644 --- a/ring-android/libringclient/src/main/java/net/jami/contactrequests/ContactRequestsView.java +++ b/ring-android/libringclient/src/main/java/net/jami/contactrequests/ContactRequestsView.java @@ -24,7 +24,7 @@ import java.util.List; import net.jami.model.Uri; import net.jami.smartlist.SmartListViewModel; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public interface ContactRequestsView { diff --git a/ring-android/libringclient/src/main/java/net/jami/conversation/ConversationPresenter.java b/ring-android/libringclient/src/main/java/net/jami/conversation/ConversationPresenter.java index d106a517b..5463e3ca5 100644 --- a/ring-android/libringclient/src/main/java/net/jami/conversation/ConversationPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/conversation/ConversationPresenter.java @@ -50,12 +50,12 @@ import java.io.File; import javax.inject.Inject; import javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.Scheduler; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.schedulers.Schedulers; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.schedulers.Schedulers; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.Subject; public class ConversationPresenter extends RootPresenter<ConversationView> { diff --git a/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java b/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java index 01aef0be3..bf4812873 100644 --- a/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java +++ b/ring-android/libringclient/src/main/java/net/jami/facades/ConversationFacade.java @@ -52,13 +52,13 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; -import io.reactivex.Completable; -import io.reactivex.Observable; -import io.reactivex.Single; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.schedulers.Schedulers; -import io.reactivex.subjects.PublishSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.schedulers.Schedulers; +import io.reactivex.rxjava3.subjects.PublishSubject; +import io.reactivex.rxjava3.subjects.Subject; public class ConversationFacade { @@ -370,7 +370,7 @@ public class ConversationFacade { private Observable<SmartListViewModel> observeConversation(Account account, Conversation conversation, boolean hasPresence) { return Observable.merge(account.getConversationSubject() .filter(c -> c == conversation) - .startWith(conversation), + .startWithItem(conversation), mContactService .observeContact(conversation.getAccountId(), conversation.getContacts(), hasPresence)) .map(e -> new SmartListViewModel(conversation, hasPresence)); diff --git a/ring-android/libringclient/src/main/java/net/jami/model/Account.java b/ring-android/libringclient/src/main/java/net/jami/model/Account.java index eaabc395a..c41dfaf8a 100644 --- a/ring-android/libringclient/src/main/java/net/jami/model/Account.java +++ b/ring-android/libringclient/src/main/java/net/jami/model/Account.java @@ -37,12 +37,13 @@ import java.util.Iterator; import java.util.List; import java.util.Map; -import io.reactivex.Maybe; -import io.reactivex.Observable; -import io.reactivex.Single; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.PublishSubject; -import io.reactivex.subjects.Subject; +import ezvcard.VCard; +import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.PublishSubject; +import io.reactivex.rxjava3.subjects.Subject; public class Account { private static final String TAG = Account.class.getSimpleName(); diff --git a/ring-android/libringclient/src/main/java/net/jami/model/Conference.java b/ring-android/libringclient/src/main/java/net/jami/model/Conference.java index cab4c8964..efc9b29d9 100644 --- a/ring-android/libringclient/src/main/java/net/jami/model/Conference.java +++ b/ring-android/libringclient/src/main/java/net/jami/model/Conference.java @@ -28,9 +28,9 @@ import java.util.List; import java.util.Map; import java.util.Set; -import io.reactivex.Observable; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.Subject; public class Conference { diff --git a/ring-android/libringclient/src/main/java/net/jami/model/Contact.java b/ring-android/libringclient/src/main/java/net/jami/model/Contact.java index 996a40607..4740a0438 100644 --- a/ring-android/libringclient/src/main/java/net/jami/model/Contact.java +++ b/ring-android/libringclient/src/main/java/net/jami/model/Contact.java @@ -25,10 +25,10 @@ import net.jami.utils.StringUtils; import java.util.ArrayList; import java.util.Date; -import io.reactivex.Emitter; -import io.reactivex.Observable; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.core.Emitter; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.Subject; public class Contact { protected static final String TAG = Contact.class.getSimpleName(); diff --git a/ring-android/libringclient/src/main/java/net/jami/model/Conversation.java b/ring-android/libringclient/src/main/java/net/jami/model/Conversation.java index db047ac28..44ff694a2 100644 --- a/ring-android/libringclient/src/main/java/net/jami/model/Conversation.java +++ b/ring-android/libringclient/src/main/java/net/jami/model/Conversation.java @@ -36,13 +36,13 @@ import java.util.NavigableMap; import java.util.Set; import java.util.TreeMap; -import io.reactivex.Completable; -import io.reactivex.Observable; -import io.reactivex.Single; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.PublishSubject; -import io.reactivex.subjects.SingleSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.PublishSubject; +import io.reactivex.rxjava3.subjects.SingleSubject; +import io.reactivex.rxjava3.subjects.Subject; public class Conversation extends ConversationHistory { private static final String TAG = Conversation.class.getSimpleName(); diff --git a/ring-android/libringclient/src/main/java/net/jami/mvp/AccountCreationModel.java b/ring-android/libringclient/src/main/java/net/jami/mvp/AccountCreationModel.java index 37f7343e0..f5ec2f399 100644 --- a/ring-android/libringclient/src/main/java/net/jami/mvp/AccountCreationModel.java +++ b/ring-android/libringclient/src/main/java/net/jami/mvp/AccountCreationModel.java @@ -25,10 +25,10 @@ import java.io.File; import java.io.Serializable; import ezvcard.VCard; -import io.reactivex.Observable; -import io.reactivex.Single; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.Subject; public abstract class AccountCreationModel implements Serializable { @@ -44,7 +44,7 @@ public abstract class AccountCreationModel implements Serializable { transient private net.jami.model.Account newAccount = null; transient private Object photo = null; - transient private Observable<net.jami.model.Account> account; + transient private Observable<Account> account; transient protected final Subject<AccountCreationModel> profile = BehaviorSubject.createDefault(this); public AccountCreationModel() { diff --git a/ring-android/libringclient/src/main/java/net/jami/mvp/RootPresenter.java b/ring-android/libringclient/src/main/java/net/jami/mvp/RootPresenter.java index 51885e717..58b57c7b5 100644 --- a/ring-android/libringclient/src/main/java/net/jami/mvp/RootPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/mvp/RootPresenter.java @@ -21,7 +21,7 @@ package net.jami.mvp; import java.lang.ref.WeakReference; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public abstract class RootPresenter<T> { diff --git a/ring-android/libringclient/src/main/java/net/jami/navigation/HomeNavigationPresenter.java b/ring-android/libringclient/src/main/java/net/jami/navigation/HomeNavigationPresenter.java index 45ecfb11f..8640f713a 100644 --- a/ring-android/libringclient/src/main/java/net/jami/navigation/HomeNavigationPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/navigation/HomeNavigationPresenter.java @@ -38,9 +38,9 @@ import net.jami.utils.VCardUtils; import ezvcard.property.Photo; import ezvcard.property.RawProperty; import ezvcard.property.Uid; -import io.reactivex.Scheduler; -import io.reactivex.Single; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; public class HomeNavigationPresenter extends RootPresenter<HomeNavigationView> { diff --git a/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java b/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java index f732512be..15bae636b 100644 --- a/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java +++ b/ring-android/libringclient/src/main/java/net/jami/services/AccountService.java @@ -74,15 +74,15 @@ import javax.inject.Named; import ezvcard.Ezvcard; import ezvcard.VCard; -import io.reactivex.Completable; -import io.reactivex.Maybe; -import io.reactivex.Observable; -import io.reactivex.Single; -import io.reactivex.schedulers.Schedulers; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.PublishSubject; -import io.reactivex.subjects.SingleSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.PublishSubject; +import io.reactivex.rxjava3.subjects.SingleSubject; +import io.reactivex.rxjava3.subjects.Subject; /** * This service handles the accounts @@ -500,7 +500,7 @@ public class AccountService { }) .flatMap(account -> accountSubject .filter(acc -> acc.getAccountID().equals(account.getAccountID())) - .startWith(account)) + .startWithItem(account)) .subscribeOn(Schedulers.from(mExecutor)); } @@ -1895,7 +1895,7 @@ public class AccountService { public Observable<DataTransfer> observeDataTransfer(DataTransfer transfer) { return dataTransferSubject .filter(t -> t == transfer) - .startWith(transfer); + .startWithItem(transfer); } public void setProxyEnabled(boolean enabled) { diff --git a/ring-android/libringclient/src/main/java/net/jami/services/CallService.java b/ring-android/libringclient/src/main/java/net/jami/services/CallService.java index d5904ea3b..92dd5ac04 100644 --- a/ring-android/libringclient/src/main/java/net/jami/services/CallService.java +++ b/ring-android/libringclient/src/main/java/net/jami/services/CallService.java @@ -45,11 +45,11 @@ import net.jami.model.Uri; import net.jami.utils.Log; import net.jami.utils.StringUtils; import ezvcard.VCard; -import io.reactivex.Completable; -import io.reactivex.Observable; -import io.reactivex.Single; -import io.reactivex.schedulers.Schedulers; -import io.reactivex.subjects.PublishSubject; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; +import io.reactivex.rxjava3.subjects.PublishSubject; public class CallService { @@ -93,12 +93,12 @@ public class CallService { return conferenceSubject .filter(c -> c == conf) - .startWith(conf) + .startWithItem(conf) .map(Conference::getParticipants) .switchMap(list -> Observable.fromIterable(list) .flatMap(call -> callSubject.filter(c -> c == call))) .map(call -> conf) - .startWith(conf); + .startWithItem(conf); } public Observable<Conference> getConfUpdates(final String confId) { @@ -213,7 +213,7 @@ public class CallService { ConferenceEntity conferenceEntity = new ConferenceEntity(conference); return conferenceSubject - .startWith(conference) + .startWithItem(conference) .filter(conf -> { Log.w(TAG, "getConfUpdates filter " + conf.getConfId() + " " + conf.getParticipants().size() + " (tracked " + conferenceEntity.conference.getConfId() + " " + conferenceEntity.conference.getParticipants().size() + ")"); if (conf == conferenceEntity.conference) { @@ -242,7 +242,7 @@ public class CallService { } private Observable<Call> getCallUpdates(final Call call) { return callSubject.filter(c -> c == call) - .startWith(call) + .startWithItem(call) .takeWhile(c -> c.getCallStatus() != Call.CallStatus.OVER); } /*public Observable<SipCall> getCallUpdates(final String callId) { @@ -457,12 +457,10 @@ public class CallService { } public Completable cancelMessage(final String accountId, final long messageID) { - return Completable - .fromAction(() -> { - Log.i(TAG, "CancelMessage() running... Account ID: " + accountId + " " + "Message ID " + " " + messageID); - JamiService.cancelMessage(accountId, messageID); - }) - .subscribeOn(Schedulers.from(mExecutor)); + return Completable.fromAction(() -> { + Log.i(TAG, "CancelMessage() running... Account ID: " + accountId + " " + "Message ID " + " " + messageID); + JamiService.cancelMessage(accountId, messageID); + }).subscribeOn(Schedulers.from(mExecutor)); } private Call getCurrentCallForId(String callId) { diff --git a/ring-android/libringclient/src/main/java/net/jami/services/ContactService.java b/ring-android/libringclient/src/main/java/net/jami/services/ContactService.java index 382453eee..5762b1496 100644 --- a/ring-android/libringclient/src/main/java/net/jami/services/ContactService.java +++ b/ring-android/libringclient/src/main/java/net/jami/services/ContactService.java @@ -36,9 +36,9 @@ import net.jami.model.Uri; import net.jami.utils.Log; import net.jami.utils.StringUtils; import ezvcard.VCard; -import io.reactivex.Completable; -import io.reactivex.Observable; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; /** * This service handles the contacts diff --git a/ring-android/libringclient/src/main/java/net/jami/services/HardwareService.java b/ring-android/libringclient/src/main/java/net/jami/services/HardwareService.java index 037fb6235..80249df32 100644 --- a/ring-android/libringclient/src/main/java/net/jami/services/HardwareService.java +++ b/ring-android/libringclient/src/main/java/net/jami/services/HardwareService.java @@ -37,15 +37,16 @@ import net.jami.model.Call; import net.jami.utils.Log; import net.jami.utils.StringUtils; import net.jami.utils.Tuple; -import io.reactivex.Completable; -import io.reactivex.Emitter; -import io.reactivex.Observable; -import io.reactivex.ObservableOnSubscribe; -import io.reactivex.Scheduler; -import io.reactivex.schedulers.Schedulers; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.PublishSubject; -import io.reactivex.subjects.Subject; + +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Emitter; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.ObservableOnSubscribe; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.schedulers.Schedulers; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.PublishSubject; +import io.reactivex.rxjava3.subjects.Subject; public abstract class HardwareService { diff --git a/ring-android/libringclient/src/main/java/net/jami/services/HistoryService.java b/ring-android/libringclient/src/main/java/net/jami/services/HistoryService.java index 02ba0257a..5e460b2df 100644 --- a/ring-android/libringclient/src/main/java/net/jami/services/HistoryService.java +++ b/ring-android/libringclient/src/main/java/net/jami/services/HistoryService.java @@ -35,10 +35,11 @@ import net.jami.model.TextMessage; import net.jami.model.Uri; import net.jami.utils.Log; import net.jami.utils.StringUtils; -import io.reactivex.Completable; -import io.reactivex.Scheduler; -import io.reactivex.Single; -import io.reactivex.schedulers.Schedulers; + +import io.reactivex.rxjava3.core.Completable; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; public abstract class HistoryService { private static final String TAG = HistoryService.class.getSimpleName(); diff --git a/ring-android/libringclient/src/main/java/net/jami/services/PreferencesService.java b/ring-android/libringclient/src/main/java/net/jami/services/PreferencesService.java index aaa6a3ce7..f5b36bcb6 100644 --- a/ring-android/libringclient/src/main/java/net/jami/services/PreferencesService.java +++ b/ring-android/libringclient/src/main/java/net/jami/services/PreferencesService.java @@ -25,9 +25,10 @@ import java.util.Set; import javax.inject.Inject; import net.jami.model.Settings; -import io.reactivex.Observable; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.Subject; + +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.Subject; public abstract class PreferencesService { diff --git a/ring-android/libringclient/src/main/java/net/jami/services/VCardService.java b/ring-android/libringclient/src/main/java/net/jami/services/VCardService.java index 25d77ba41..899995d75 100644 --- a/ring-android/libringclient/src/main/java/net/jami/services/VCardService.java +++ b/ring-android/libringclient/src/main/java/net/jami/services/VCardService.java @@ -24,8 +24,8 @@ import java.io.File; import net.jami.model.Account; import net.jami.utils.Tuple; import ezvcard.VCard; -import io.reactivex.Maybe; -import io.reactivex.Single; +import io.reactivex.rxjava3.core.Maybe; +import io.reactivex.rxjava3.core.Single; public abstract class VCardService { diff --git a/ring-android/libringclient/src/main/java/net/jami/settings/SettingsPresenter.java b/ring-android/libringclient/src/main/java/net/jami/settings/SettingsPresenter.java index 3fc7d85e7..e71001547 100644 --- a/ring-android/libringclient/src/main/java/net/jami/settings/SettingsPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/settings/SettingsPresenter.java @@ -29,7 +29,8 @@ import net.jami.mvp.GenericView; import net.jami.mvp.RootPresenter; import net.jami.services.PreferencesService; import net.jami.utils.Log; -import io.reactivex.Scheduler; + +import io.reactivex.rxjava3.core.Scheduler; public class SettingsPresenter extends RootPresenter<GenericView<Settings>> { diff --git a/ring-android/libringclient/src/main/java/net/jami/share/SharePresenter.java b/ring-android/libringclient/src/main/java/net/jami/share/SharePresenter.java index 61661b19f..ec1ebb811 100644 --- a/ring-android/libringclient/src/main/java/net/jami/share/SharePresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/share/SharePresenter.java @@ -27,8 +27,8 @@ import javax.inject.Inject; import net.jami.mvp.GenericView; import net.jami.mvp.RootPresenter; -import io.reactivex.Scheduler; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.schedulers.Schedulers; public class SharePresenter extends RootPresenter<GenericView<ShareViewModel>> { private final net.jami.services.AccountService mAccountService; diff --git a/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListPresenter.java b/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListPresenter.java index da3d8043b..a51cd8fac 100644 --- a/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListPresenter.java @@ -35,14 +35,14 @@ import java.util.concurrent.TimeUnit; import javax.inject.Inject; import javax.inject.Named; -import io.reactivex.Observable; -import io.reactivex.Scheduler; -import io.reactivex.disposables.CompositeDisposable; -import io.reactivex.disposables.Disposable; -import io.reactivex.schedulers.Schedulers; -import io.reactivex.subjects.BehaviorSubject; -import io.reactivex.subjects.PublishSubject; -import io.reactivex.subjects.Subject; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.Disposable; +import io.reactivex.rxjava3.schedulers.Schedulers; +import io.reactivex.rxjava3.subjects.BehaviorSubject; +import io.reactivex.rxjava3.subjects.PublishSubject; +import io.reactivex.rxjava3.subjects.Subject; public class SmartListPresenter extends RootPresenter<SmartListView> { diff --git a/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListView.java b/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListView.java index 8664c5fb6..a043e9a5d 100644 --- a/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListView.java +++ b/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListView.java @@ -24,7 +24,7 @@ import java.util.List; import net.jami.model.Uri; import net.jami.mvp.BaseView; -import io.reactivex.disposables.CompositeDisposable; +import io.reactivex.rxjava3.disposables.CompositeDisposable; public interface SmartListView extends BaseView { diff --git a/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListViewModel.java b/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListViewModel.java index 8ca3f7923..ff126999d 100644 --- a/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListViewModel.java +++ b/ring-android/libringclient/src/main/java/net/jami/smartlist/SmartListViewModel.java @@ -28,8 +28,9 @@ import net.jami.model.Contact; import net.jami.model.Conversation; import net.jami.model.Interaction; import net.jami.model.Uri; -import io.reactivex.Observable; -import io.reactivex.Single; + +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.core.Single; public class SmartListViewModel { diff --git a/ring-android/libringclient/src/main/java/net/jami/utils/VCardUtils.java b/ring-android/libringclient/src/main/java/net/jami/utils/VCardUtils.java index b49650b31..bb9c56335 100644 --- a/ring-android/libringclient/src/main/java/net/jami/utils/VCardUtils.java +++ b/ring-android/libringclient/src/main/java/net/jami/utils/VCardUtils.java @@ -34,8 +34,8 @@ import ezvcard.property.FormattedName; import ezvcard.property.Photo; import ezvcard.property.RawProperty; import ezvcard.property.Uid; -import io.reactivex.Single; -import io.reactivex.schedulers.Schedulers; +import io.reactivex.rxjava3.core.Single; +import io.reactivex.rxjava3.schedulers.Schedulers; public final class VCardUtils { public static final String TAG = VCardUtils.class.getSimpleName(); diff --git a/ring-android/libringclient/src/main/java/net/jami/wizard/SIPCreationPresenter.java b/ring-android/libringclient/src/main/java/net/jami/wizard/SIPCreationPresenter.java index 193d7e6e9..bbf6da804 100644 --- a/ring-android/libringclient/src/main/java/net/jami/wizard/SIPCreationPresenter.java +++ b/ring-android/libringclient/src/main/java/net/jami/wizard/SIPCreationPresenter.java @@ -40,8 +40,9 @@ import ezvcard.VCard; import ezvcard.property.FormattedName; import ezvcard.property.RawProperty; import ezvcard.property.Uid; -import io.reactivex.Scheduler; -import io.reactivex.observers.DisposableObserver; +import io.reactivex.rxjava3.annotations.NonNull; +import io.reactivex.rxjava3.core.Scheduler; +import io.reactivex.rxjava3.observers.DisposableObserver; public class SIPCreationPresenter extends RootPresenter<SIPCreationView> { @@ -78,7 +79,6 @@ public class SIPCreationPresenter extends RootPresenter<SIPCreationView> { * Attempts to register the account specified by the form. If there are form errors (invalid or missing fields, etc.), the * errors are presented and no actual creation attempt is made. * - * @param alias Alias account value * @param hostname hostname account value * @param username username account value * @param password password account value @@ -137,7 +137,7 @@ public class SIPCreationPresenter extends RootPresenter<SIPCreationView> { .observeOn(mUiScheduler) .subscribeWith(new DisposableObserver<Account>() { @Override - public void onNext(Account account) { + public void onNext(@NonNull Account account) { mAccount = account; switch (account.getRegistrationState()) { case AccountConfig.STATE_REGISTERED: @@ -162,7 +162,7 @@ public class SIPCreationPresenter extends RootPresenter<SIPCreationView> { } @Override - public void onError(Throwable e) { + public void onError(@NonNull Throwable e) { getView().showRegistrationError(); dispose(); } -- GitLab