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 1f855779d..93c277f22 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java @@ -136,7 +136,6 @@ public class CallNotificationController extends BaseController { private Conversation currentConversation; private MediaPlayer mediaPlayer; private boolean leavingScreen = false; - private RenderScript renderScript; private Vibrator vibrator; private Handler handler; @@ -306,8 +305,6 @@ public class CallNotificationController extends BaseController { protected void onViewBound(@NonNull View view) { super.onViewBound(view); - renderScript = RenderScript.create(getActivity()); - if (handler == null) { handler = new Handler(); } diff --git a/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.kt b/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.kt index 3a2555f86..5fc4a1fb5 100644 --- a/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.kt +++ b/app/src/main/java/com/nextcloud/talk/jobs/NotificationWorker.kt @@ -77,6 +77,7 @@ import com.nextcloud.talk.models.json.notifications.NotificationOverall import com.nextcloud.talk.models.json.push.DecryptedPushMessage import com.nextcloud.talk.models.json.push.NotificationUser import com.nextcloud.talk.newarch.utils.Images +import com.nextcloud.talk.newarch.utils.getCredentials import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.DoNotDisturbUtils.isDnDActive import com.nextcloud.talk.utils.DoNotDisturbUtils.isInDoNotDisturbWithPriority @@ -124,15 +125,18 @@ class NotificationWorker( context: Context, workerParams: WorkerParameters ) : Worker(context, workerParams) { + @JvmField @Inject - internal var appPreferences: AppPreferences? = null + var appPreferences: AppPreferences? = null + @JvmField @Inject - internal var arbitraryStorageUtils: ArbitraryStorageUtils? = - null + var arbitraryStorageUtils: ArbitraryStorageUtils? = null + @JvmField @Inject - internal var retrofit: Retrofit? = null + var retrofit: Retrofit? = null + @JvmField @Inject - internal var okHttpClient: OkHttpClient? = null + var okHttpClient: OkHttpClient? = null private var ncApi: NcApi? = null private var decryptedPushMessage: DecryptedPushMessage? = null private var context: Context? = null @@ -180,8 +184,7 @@ class NotificationWorker( override fun onSubscribe(d: Disposable) {} override fun onNext(roomOverall: RoomOverall) { val conversation: Conversation = - roomOverall.getOcs() - .getData() + roomOverall.ocs.data intent.putExtra( KEY_ROOM, Parcels.wrap( @@ -557,7 +560,7 @@ class NotificationWorker( LoganSquare.parse( ringtonePreferencesString, RingtoneSettings::class.java ) - ringtoneSettings.getRingtoneUri() + ringtoneSettings.ringtoneUri } catch (exception: IOException) { Uri.parse( "android.resource://" + context!!.packageName + @@ -634,7 +637,7 @@ class NotificationWorker( base64DecodedSignature, base64DecodedSubject ) - if (signatureVerification!!.isSignatureValid()) { + if (signatureVerification!!.signatureValid) { val cipher: Cipher = Cipher.getInstance("RSA/None/PKCS1Padding") cipher.init(Cipher.DECRYPT_MODE, privateKey) val decryptedSubject: ByteArray? = cipher.doFinal(base64DecodedSubject) @@ -644,21 +647,19 @@ class NotificationWorker( DecryptedPushMessage::class.java ) decryptedPushMessage!!.timestamp = System.currentTimeMillis() - if (decryptedPushMessage!!.isDelete) { + if (decryptedPushMessage!!.delete) { cancelExistingNotificationWithId( context, - signatureVerification!!.getUserEntity(), decryptedPushMessage!!.notificationId + signatureVerification!!.userEntity, decryptedPushMessage!!.notificationId ) - } else if (decryptedPushMessage!!.isDeleteAll) { + } else if (decryptedPushMessage!!.deleteAll) { cancelAllNotificationsForAccount( context, - signatureVerification!!.getUserEntity() + signatureVerification!!.userEntity ) } else { - credentials = ApiUtils.getCredentials( - signatureVerification!!.getUserEntity().username, - signatureVerification!!.getUserEntity().token - ) + credentials = signatureVerification!!.userEntity.getCredentials() + ncApi = retrofit!!.newBuilder() .client( okHttpClient!!.newBuilder().cookieJar( @@ -669,8 +670,7 @@ class NotificationWorker( .create( NcApi::class.java ) - val hasChatSupport = signatureVerification!!.getUserEntity() - .hasSpreedFeatureCapability("chat-v2") + val hasChatSupport = signatureVerification!!.userEntity.hasSpreedFeatureCapability("chat-v2") val shouldShowNotification = decryptedPushMessage!!.app == "spreed" if (shouldShowNotification) { val intent: Intent @@ -687,7 +687,7 @@ class NotificationWorker( ) } intent.flags = Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_NEW_TASK - if (!signatureVerification!!.getUserEntity().hasSpreedFeatureCapability("no-ping")) { + if (!signatureVerification!!.userEntity.hasSpreedFeatureCapability("no-ping")) { bundle.putString( KEY_ROOM_ID, decryptedPushMessage!!.id @@ -700,7 +700,7 @@ class NotificationWorker( } bundle.putParcelable( KEY_USER_ENTITY, - signatureVerification!!.getUserEntity() + signatureVerification!!.userEntity ) bundle.putBoolean( KEY_FROM_NOTIFICATION_START_CALL, diff --git a/app/src/main/java/com/nextcloud/talk/models/SignatureVerification.java b/app/src/main/java/com/nextcloud/talk/models/SignatureVerification.java index 4f25304d9..d0e59fc9f 100644 --- a/app/src/main/java/com/nextcloud/talk/models/SignatureVerification.java +++ b/app/src/main/java/com/nextcloud/talk/models/SignatureVerification.java @@ -27,6 +27,6 @@ import org.parceler.Parcel; @Data @Parcel public class SignatureVerification { - boolean signatureValid; - UserEntity userEntity; + public boolean signatureValid; + public UserEntity userEntity; } diff --git a/app/src/main/java/com/nextcloud/talk/models/json/notifications/Notification.java b/app/src/main/java/com/nextcloud/talk/models/json/notifications/Notification.java index 7420539c7..14957b3fa 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/notifications/Notification.java +++ b/app/src/main/java/com/nextcloud/talk/models/json/notifications/Notification.java @@ -36,31 +36,31 @@ public class Notification { @JsonField(name = "icon") public String icon; @JsonField(name = "notification_id") - int notificationId; + public int notificationId; @JsonField(name = "app") - String app; + public String app; @JsonField(name = "user") - String user; + public String user; @JsonField(name = "datetime", typeConverter = LoganSquareJodaTimeConverter.class) - DateTime datetime; + public DateTime datetime; @JsonField(name = "object_type") - String objectType; + public String objectType; @JsonField(name = "object_id") - String objectId; + public String objectId; @JsonField(name = "subject") - String subject; + public String subject; @JsonField(name = "subjectRich") - String subjectRich; + public String subjectRich; @JsonField(name = "subjectRichParameters") - HashMap> subjectRichParameters; + public HashMap> subjectRichParameters; @JsonField(name = "message") - String message; + public String message; @JsonField(name = "messageRich") - String messageRich; + public String messageRich; @JsonField(name = "messageRichParameters") - HashMap> messageRichParameters; + public HashMap> messageRichParameters; @JsonField(name = "link") - String link; + public String link; @JsonField(name = "actions") - List actions; + public List actions; } diff --git a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOCS.java b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOCS.java index c80bedbcc..24281396f 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOCS.java +++ b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOCS.java @@ -31,5 +31,5 @@ import org.parceler.Parcel; @JsonObject public class NotificationOCS extends GenericOCS { @JsonField(name = "data") - Notification notification; + public Notification notification; } diff --git a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOverall.java b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOverall.java index c6d319433..51c5fd17e 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOverall.java +++ b/app/src/main/java/com/nextcloud/talk/models/json/notifications/NotificationOverall.java @@ -28,5 +28,5 @@ import lombok.Data; @JsonObject public class NotificationOverall { @JsonField(name = "ocs") - NotificationOCS ocs; + public NotificationOCS ocs; } diff --git a/app/src/main/java/com/nextcloud/talk/models/json/push/DecryptedPushMessage.java b/app/src/main/java/com/nextcloud/talk/models/json/push/DecryptedPushMessage.java index 54f108b57..5d1ceb69b 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/push/DecryptedPushMessage.java +++ b/app/src/main/java/com/nextcloud/talk/models/json/push/DecryptedPushMessage.java @@ -31,32 +31,32 @@ import org.parceler.Parcel; @JsonObject public class DecryptedPushMessage { @JsonField(name = "app") - String app; + public String app; @JsonField(name = "type") - String type; + public String type; @JsonField(name = "subject") - String subject; + public String subject; @JsonField(name = "id") - String id; + public String id; @JsonField(name = "nid") - long notificationId; + public long notificationId; @JsonField(name = "delete") - boolean delete; + public boolean delete; @JsonField(name = "delete-all") - boolean deleteAll; + public boolean deleteAll; @JsonIgnore - NotificationUser notificationUser; + public NotificationUser notificationUser; @JsonIgnore - String text; + public String text; @JsonIgnore - long timestamp; + public long timestamp; } diff --git a/app/src/main/java/com/nextcloud/talk/models/json/push/NotificationUser.java b/app/src/main/java/com/nextcloud/talk/models/json/push/NotificationUser.java index 81e8e7a46..47ae6df90 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/push/NotificationUser.java +++ b/app/src/main/java/com/nextcloud/talk/models/json/push/NotificationUser.java @@ -30,11 +30,11 @@ import org.parceler.Parcel; @JsonObject public class NotificationUser { @JsonField(name = "type") - String type; + public String type; @JsonField(name = "id") - String id; + public String id; @JsonField(name = "name") - String name; + public String name; }