From 49f263450bd1477c97f70da3abbb810945f75595 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Tue, 9 Feb 2021 13:56:24 +0100 Subject: [PATCH] wip Signed-off-by: tobiasKaminsky --- app/build.gradle | 1 + .../talk/adapters/items/UserItem.java | 3 +- .../application/NextcloudTalkApplication.kt | 1 - .../talk/controllers/CallController.java | 5 +-- .../CallNotificationController.java | 26 ++++++------ .../talk/dagger/modules/RestModule.java | 40 ++++++++++++------- .../com/nextcloud/talk/utils/ApiUtils.java | 6 +-- .../nextcloud/talk/utils/DisplayUtils.java | 28 ++++++------- 8 files changed, 58 insertions(+), 52 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 8a9675879..7e30efd34 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -210,6 +210,7 @@ dependencies { implementation 'me.zhanghai.android.effortlesspermissions:library:1.1.0' implementation 'org.apache.commons:commons-lang3:3.9' implementation 'com.github.wooplr:Spotlight:1.3' + implementation 'com.google.code.findbugs:jsr305:2.0.0' implementation('com.github.mario:chatkit:c6a61767291ddb212a2f4f792a2b6aaf295e69a5', { exclude group: 'com.facebook.fresco' }) diff --git a/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java b/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java index e4de0f499..c2ce932d9 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java +++ b/app/src/main/java/com/nextcloud/talk/adapters/items/UserItem.java @@ -40,8 +40,7 @@ import com.nextcloud.talk.utils.DisplayUtils; import java.util.List; import java.util.regex.Pattern; -import javax.annotation.Nullable; - +import androidx.annotation.Nullable; import androidx.emoji.widget.EmojiTextView; import butterknife.BindView; import butterknife.ButterKnife; diff --git a/app/src/main/java/com/nextcloud/talk/application/NextcloudTalkApplication.kt b/app/src/main/java/com/nextcloud/talk/application/NextcloudTalkApplication.kt index 255f69f26..4c25f9470 100644 --- a/app/src/main/java/com/nextcloud/talk/application/NextcloudTalkApplication.kt +++ b/app/src/main/java/com/nextcloud/talk/application/NextcloudTalkApplication.kt @@ -110,7 +110,6 @@ class NextcloudTalkApplication : MultiDexApplication(), LifecycleObserver { PeerConnectionFactory.initialize(PeerConnectionFactory.InitializationOptions.builder(this) - .setEnableVideoHwAcceleration(MagicWebRTCUtils.shouldEnableVideoHardwareAcceleration()) .createInitializationOptions()) } catch (e: UnsatisfiedLinkError) { Log.w(TAG, e) diff --git a/app/src/main/java/com/nextcloud/talk/controllers/CallController.java b/app/src/main/java/com/nextcloud/talk/controllers/CallController.java index 75e962bdd..265ab4ca7 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/CallController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/CallController.java @@ -360,9 +360,6 @@ public class CallController extends BaseController { PeerConnectionFactory.Options options = new PeerConnectionFactory.Options(); peerConnectionFactory = PeerConnectionFactory.builder().createPeerConnectionFactory(); - peerConnectionFactory.setVideoHwAccelerationOptions(rootEglBase.getEglBaseContext(), - rootEglBase.getEglBaseContext()); - //Create MediaConstraints - Will be useful for specifying video and audio constraints. audioConstraints = new MediaConstraints(); videoConstraints = new MediaConstraints(); @@ -584,7 +581,7 @@ public class CallController extends BaseController { //Create a VideoSource instance if (videoCapturer != null) { - videoSource = peerConnectionFactory.createVideoSource(videoCapturer); + videoSource = peerConnectionFactory.createVideoSource(true); localVideoTrack = peerConnectionFactory.createVideoTrack("NCv0", videoSource); localMediaStream.addTrack(localVideoTrack); localVideoTrack.setEnabled(false); diff --git a/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java b/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java index 486418bc2..d55885fa4 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java @@ -44,9 +44,6 @@ import android.widget.ImageView; import android.widget.RelativeLayout; import android.widget.TextView; -import androidx.annotation.NonNull; -import androidx.constraintlayout.widget.ConstraintLayout; - import com.bluelinelabs.conductor.RouterTransaction; import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler; import com.bluelinelabs.logansquare.LoganSquare; @@ -82,6 +79,7 @@ import com.nextcloud.talk.utils.singletons.AvatarStatusCodeHolder; import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; +import org.jetbrains.annotations.NotNull; import org.michaelevans.colorart.library.ColorArt; import org.parceler.Parcels; @@ -89,9 +87,12 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import javax.annotation.Nullable; +import androidx.annotation.Nullable; import javax.inject.Inject; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.constraintlayout.widget.ConstraintLayout; import autodagger.AutoInjector; import butterknife.BindView; import butterknife.OnClick; @@ -164,8 +165,9 @@ public class CallNotificationController extends BaseController { credentials = ApiUtils.getCredentials(userBeingCalled.getUsername(), userBeingCalled.getToken()); } + @NotNull @Override - protected View inflateView(@NonNull LayoutInflater inflater, @NonNull ViewGroup container) { + protected View inflateView(@NotNull LayoutInflater inflater, @NotNull ViewGroup container) { return inflater.inflate(R.layout.controller_call_notification, container, false); } @@ -210,12 +212,12 @@ public class CallNotificationController extends BaseController { .takeWhile(observable -> !leavingScreen) .subscribe(new Observer() { @Override - public void onSubscribe(Disposable d) { + public void onSubscribe(@NotNull Disposable d) { disposablesList.add(d); } @Override - public void onNext(ParticipantsOverall participantsOverall) { + public void onNext(@NotNull ParticipantsOverall participantsOverall) { boolean hasParticipantsInCall = false; boolean inCallOnDifferentDevice = false; List participantList = participantsOverall.getOcs().getData(); @@ -238,7 +240,7 @@ public class CallNotificationController extends BaseController { } @Override - public void onError(Throwable e) { + public void onError(@NotNull Throwable e) { } @@ -259,12 +261,12 @@ public class CallNotificationController extends BaseController { .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @Override - public void onSubscribe(Disposable d) { + public void onSubscribe(@NotNull Disposable d) { disposablesList.add(d); } @Override - public void onNext(RoomsOverall roomsOverall) { + public void onNext(@NotNull RoomsOverall roomsOverall) { for (Conversation conversation : roomsOverall.getOcs().getData()) { if (roomId.equals(conversation.getRoomId()) || roomId.equals(conversation.token)) { currentConversation = conversation; @@ -276,7 +278,7 @@ public class CallNotificationController extends BaseController { } @Override - public void onError(Throwable e) { + public void onError(@NotNull Throwable e) { } @@ -509,4 +511,4 @@ public class CallNotificationController extends BaseController { } } } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.java b/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.java index de2a058db..4db06f20d 100644 --- a/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.java +++ b/app/src/main/java/com/nextcloud/talk/dagger/modules/RestModule.java @@ -23,8 +23,7 @@ package com.nextcloud.talk.dagger.modules; import android.content.Context; import android.text.TextUtils; import android.util.Log; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; + import com.github.aurae.retrofit2.LoganSquareConverterFactory; import com.nextcloud.talk.BuildConfig; import com.nextcloud.talk.R; @@ -38,18 +37,7 @@ import com.nextcloud.talk.utils.singletons.AvatarStatusCodeHolder; import com.nextcloud.talk.utils.ssl.MagicKeyManager; import com.nextcloud.talk.utils.ssl.MagicTrustManager; import com.nextcloud.talk.utils.ssl.SSLSocketFactoryCompat; -import dagger.Module; -import dagger.Provides; -import io.reactivex.schedulers.Schedulers; -import okhttp3.*; -import okhttp3.internal.tls.OkHostnameVerifier; -import okhttp3.logging.HttpLoggingInterceptor; -import retrofit2.Retrofit; -import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; -import javax.inject.Singleton; -import javax.net.ssl.KeyManagerFactory; -import javax.net.ssl.X509KeyManager; import java.io.IOException; import java.net.CookieManager; import java.net.InetSocketAddress; @@ -61,6 +49,30 @@ import java.security.UnrecoverableKeyException; import java.security.cert.CertificateException; import java.util.concurrent.TimeUnit; +import javax.inject.Singleton; +import javax.net.ssl.KeyManagerFactory; +import javax.net.ssl.X509KeyManager; + +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import dagger.Module; +import dagger.Provides; +import io.reactivex.schedulers.Schedulers; +import okhttp3.Authenticator; +import okhttp3.Cache; +import okhttp3.Credentials; +import okhttp3.Dispatcher; +import okhttp3.Interceptor; +import okhttp3.JavaNetCookieJar; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import okhttp3.Route; +import okhttp3.internal.tls.OkHostnameVerifier; +import okhttp3.logging.HttpLoggingInterceptor; +import retrofit2.Retrofit; +import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory; + @Module(includes = DatabaseModule.class) public class RestModule { @@ -260,7 +272,7 @@ public class RestModule { this.authenticatorType = authenticatorType; } - @Nullable + @javax.annotation.Nullable @Override public Request authenticate(@Nullable Route route, @NonNull Response response) { if (response.request().header(authenticatorType) != null) { diff --git a/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java b/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java index f7ade0a90..2d38ad22a 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java +++ b/app/src/main/java/com/nextcloud/talk/utils/ApiUtils.java @@ -22,8 +22,6 @@ package com.nextcloud.talk.utils; import android.net.Uri; import android.text.TextUtils; -import androidx.annotation.DimenRes; - import com.nextcloud.talk.BuildConfig; import com.nextcloud.talk.R; import com.nextcloud.talk.application.NextcloudTalkApplication; @@ -32,8 +30,8 @@ import com.nextcloud.talk.models.RetrofitBucket; import java.util.HashMap; import java.util.Map; -import javax.annotation.Nullable; - +import androidx.annotation.DimenRes; +import androidx.annotation.Nullable; import okhttp3.Credentials; public class ApiUtils { diff --git a/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.java b/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.java index cd57ab347..c48ea80e6 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.java +++ b/app/src/main/java/com/nextcloud/talk/utils/DisplayUtils.java @@ -52,16 +52,6 @@ import android.view.ViewGroup; import android.widget.EditText; import android.widget.TextView; -import androidx.annotation.ColorInt; -import androidx.annotation.ColorRes; -import androidx.annotation.DrawableRes; -import androidx.annotation.NonNull; -import androidx.annotation.XmlRes; -import androidx.appcompat.widget.AppCompatDrawableManager; -import androidx.core.content.ContextCompat; -import androidx.core.graphics.drawable.DrawableCompat; -import androidx.emoji.text.EmojiCompat; - import com.facebook.common.executors.UiThreadImmediateExecutorService; import com.facebook.common.references.CloseableReference; import com.facebook.datasource.DataSource; @@ -96,8 +86,16 @@ import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.annotation.Nonnull; -import javax.annotation.Nullable; +import androidx.annotation.ColorInt; +import androidx.annotation.ColorRes; +import androidx.annotation.DrawableRes; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.annotation.XmlRes; +import androidx.appcompat.widget.AppCompatDrawableManager; +import androidx.core.content.ContextCompat; +import androidx.core.graphics.drawable.DrawableCompat; +import androidx.emoji.text.EmojiCompat; public class DisplayUtils { @@ -107,7 +105,7 @@ public class DisplayUtils { SpannableString spannableString = new SpannableString(string); spannableString.setSpan(new ClickableSpan() { @Override - public void onClick(@Nonnull View widget) { + public void onClick(@NonNull View widget) { Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); browserIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); NextcloudTalkApplication.Companion.getSharedApplication().getApplicationContext().startActivity(browserIntent); @@ -181,12 +179,12 @@ public class DisplayUtils { } @Override - public void onFinalImageSet(String id, @javax.annotation.Nullable Object imageInfo, @javax.annotation.Nullable Animatable animatable) { + public void onFinalImageSet(String id, @Nullable Object imageInfo, @Nullable Animatable animatable) { updateViewSize((ImageInfo) imageInfo, draweeView); } @Override - public void onIntermediateImageSet(String id, @javax.annotation.Nullable Object imageInfo) { + public void onIntermediateImageSet(String id, @Nullable Object imageInfo) { updateViewSize((ImageInfo) imageInfo, draweeView); }