From e7790b38d114cfc51c6065a2f525b44e23901851 Mon Sep 17 00:00:00 2001
From: Mario Danic <mario@lovelyhq.com>
Date: Sat, 26 Oct 2019 22:52:32 +0200
Subject: [PATCH] More Kotlin & Coil

Signed-off-by: Mario Danic <mario@lovelyhq.com>
---
 .../CallNotificationController.java           |  3 --
 .../nextcloud/talk/jobs/NotificationWorker.kt | 42 +++++++++----------
 .../talk/models/SignatureVerification.java    |  4 +-
 .../json/notifications/Notification.java      | 28 ++++++-------
 .../json/notifications/NotificationOCS.java   |  2 +-
 .../notifications/NotificationOverall.java    |  2 +-
 .../json/push/DecryptedPushMessage.java       | 20 ++++-----
 .../models/json/push/NotificationUser.java    |  6 +--
 8 files changed, 52 insertions(+), 55 deletions(-)

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<RingtoneSettings>(
                 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<String, HashMap<String, String>> subjectRichParameters;
+  public HashMap<String, HashMap<String, String>> subjectRichParameters;
   @JsonField(name = "message")
-  String message;
+  public String message;
   @JsonField(name = "messageRich")
-  String messageRich;
+  public String messageRich;
   @JsonField(name = "messageRichParameters")
-  HashMap<String, HashMap<String, String>> messageRichParameters;
+  public HashMap<String, HashMap<String, String>> messageRichParameters;
   @JsonField(name = "link")
-  String link;
+  public String link;
   @JsonField(name = "actions")
-  List<NotificationAction> actions;
+  public List<NotificationAction> 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;
 }