Эх сурвалжийг харах

Fix a few crashes

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 6 жил өмнө
parent
commit
6815021a53

+ 1 - 1
app/src/main/java/com/nextcloud/talk/controllers/CallNotificationController.java

@@ -431,7 +431,7 @@ public class CallNotificationController extends BaseController {
                         .into(new SimpleTarget<Bitmap>() {
                             @Override
                             public void onResourceReady(Bitmap resource, Transition<? super Bitmap> transition) {
-                                if (getActivity() != null) {
+                                if (getActivity() != null && avatarImageView != null) {
                                     avatarImageView.setImageBitmap(TransformationUtils.circleCrop(GlideApp.get
                                             (getActivity()).getBitmapPool(), resource, avatarSize, avatarSize));
                                 }

+ 21 - 10
app/src/main/java/com/nextcloud/talk/controllers/ConversationInfoController.java

@@ -161,15 +161,17 @@ public class ConversationInfoController extends BaseController {
     }
 
     private void setupAdapter() {
-        if (adapter == null) {
+        if (adapter == null && getActivity() != null) {
             adapter = new FlexibleAdapter<>(recyclerViewItems, getActivity(), true);
         }
 
-        SmoothScrollLinearLayoutManager layoutManager =
-                new SmoothScrollLinearLayoutManager(getActivity());
-        recyclerView.setLayoutManager(layoutManager);
-        recyclerView.setHasFixedSize(true);
-        recyclerView.setAdapter(adapter);
+        if (recyclerView != null && getActivity() != null) {
+            SmoothScrollLinearLayoutManager layoutManager =
+                    new SmoothScrollLinearLayoutManager(getActivity());
+            recyclerView.setLayoutManager(layoutManager);
+            recyclerView.setHasFixedSize(true);
+            recyclerView.setAdapter(adapter);
+        }
     }
 
     private void handleParticipants(List<Participant> participants) {
@@ -260,13 +262,22 @@ public class ConversationInfoController extends BaseController {
                             progressBar.setVisibility(View.GONE);
                         }
 
-                        nameCategoryView.setVisibility(View.VISIBLE);
-                        conversationDisplayName.setText(conversation.getDisplayName());
+                        if (nameCategoryView != null) {
+                            nameCategoryView.setVisibility(View.VISIBLE);
+                        }
+
+                        if (conversationDisplayName != null) {
+                            conversationDisplayName.setText(conversation.getDisplayName());
+                        }
+
                         loadConversationAvatar();
 
                         if (conversationUser.hasSpreedCapabilityWithName("notification-levels")) {
-                            messageNotificationLevel.setEnabled(true);
-                            messageNotificationLevel.setAlpha(1.0f);
+                            if (messageNotificationLevel != null) {
+                                messageNotificationLevel.setEnabled(true);
+                                messageNotificationLevel.setAlpha(1.0f);
+                            }
+
                             if (!conversation.getNotificationLevel().equals(Conversation.NotificationLevel.DEFAULT)) {
                                 String stringValue;
                                 switch (new EnumNotificationLevelConverter().convertToInt(conversation.getNotificationLevel())) {

+ 9 - 3
app/src/main/java/com/nextcloud/talk/controllers/SettingsController.java

@@ -616,13 +616,19 @@ public class SettingsController extends BaseController {
             } else {
                 switch (newValue) {
                     case "HTTP":
-                        proxyPortEditText.setValue("3128");
+                        if (proxyPortEditText != null) {
+                            proxyPortEditText.setValue("3128");
+                        }
                         break;
                     case "DIRECT":
-                        proxyPortEditText.setValue("8080");
+                        if (proxyPortEditText != null) {
+                            proxyPortEditText.setValue("8080");
+                        }
                         break;
                     case "SOCKS":
-                        proxyPortEditText.setValue("1080");
+                        if (proxyPortEditText != null) {
+                            proxyPortEditText.setValue("1080");
+                        }
                         break;
                     default:
                         break;