do not show 'contact only' switch for group avatars

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/ui/PublishGroupChatProfilePictureActivity.java | 63 
1 file changed, 32 insertions(+), 31 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/ui/PublishGroupChatProfilePictureActivity.java 🔗

@@ -29,6 +29,8 @@
 
 package eu.siacs.conversations.ui;
 
+import static eu.siacs.conversations.ui.PublishProfilePictureActivity.REQUEST_CHOOSE_PICTURE;
+
 import android.content.Intent;
 import android.graphics.Bitmap;
 import android.net.Uri;
@@ -36,10 +38,9 @@ import android.os.Bundle;
 import android.util.Log;
 import android.view.View;
 import android.widget.Toast;
-
 import androidx.annotation.StringRes;
 import androidx.databinding.DataBindingUtil;
-
+import com.canhub.cropper.CropImage;
 import eu.siacs.conversations.Config;
 import eu.siacs.conversations.R;
 import eu.siacs.conversations.databinding.ActivityPublishProfilePictureBinding;
@@ -47,20 +48,15 @@ import eu.siacs.conversations.entities.Conversation;
 import eu.siacs.conversations.ui.interfaces.OnAvatarPublication;
 import eu.siacs.conversations.ui.util.PendingItem;
 
-import static eu.siacs.conversations.ui.PublishProfilePictureActivity.REQUEST_CHOOSE_PICTURE;
-
-import com.canhub.cropper.CropImage;
-
-public class PublishGroupChatProfilePictureActivity extends XmppActivity implements OnAvatarPublication {
+public class PublishGroupChatProfilePictureActivity extends XmppActivity
+        implements OnAvatarPublication {
     private final PendingItem<String> pendingConversationUuid = new PendingItem<>();
     private ActivityPublishProfilePictureBinding binding;
     private Conversation conversation;
     private Uri uri;
 
     @Override
-    protected void refreshUiReal() {
-
-    }
+    protected void refreshUiReal() {}
 
     @Override
     protected void onBackendConnected() {
@@ -76,11 +72,11 @@ public class PublishGroupChatProfilePictureActivity extends XmppActivity impleme
 
     private void reloadAvatar() {
         final int size = (int) getResources().getDimension(R.dimen.publish_avatar_size);
-        Bitmap bitmap;
+        final Bitmap bitmap;
         if (uri == null) {
             bitmap = xmppConnectionService.getAvatarService().get(conversation, size);
         } else {
-            Log.d(Config.LOGTAG, "loading " + uri.toString() + " into preview");
+            Log.d(Config.LOGTAG, "loading " + uri + " into preview");
             bitmap = xmppConnectionService.getFileBackend().cropCenterSquare(uri, size);
         }
         this.binding.accountImage.setImageBitmap(bitmap);
@@ -88,17 +84,20 @@ public class PublishGroupChatProfilePictureActivity extends XmppActivity impleme
     }
 
     @Override
-    public void onCreate(Bundle savedInstanceState) {
+    public void onCreate(final Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        this.binding = DataBindingUtil.setContentView(this, R.layout.activity_publish_profile_picture);
+        this.binding =
+                DataBindingUtil.setContentView(this, R.layout.activity_publish_profile_picture);
+        this.binding.contactOnly.setVisibility(View.GONE);
         Activities.setStatusAndNavigationBarColors(this, binding.getRoot());
         setSupportActionBar(this.binding.toolbar);
         configureActionBar(getSupportActionBar());
         this.binding.cancelButton.setOnClickListener((v) -> this.finish());
         this.binding.secondaryHint.setVisibility(View.GONE);
-        this.binding.accountImage.setOnClickListener((v) -> PublishProfilePictureActivity.chooseAvatar(this));
-        Intent intent = getIntent();
-        String uuid = intent == null ? null : intent.getStringExtra("uuid");
+        this.binding.accountImage.setOnClickListener(
+                (v) -> PublishProfilePictureActivity.chooseAvatar(this));
+        final var intent = getIntent();
+        final var uuid = intent == null ? null : intent.getStringExtra("uuid");
         if (uuid != null) {
             pendingConversationUuid.push(uuid);
         }
@@ -106,25 +105,24 @@ public class PublishGroupChatProfilePictureActivity extends XmppActivity impleme
         this.binding.publishButton.setOnClickListener(this::publish);
     }
 
-
-    private void publish(View view) {
+    private void publish(final View view) {
         binding.publishButton.setText(R.string.publishing);
         binding.publishButton.setEnabled(false);
         xmppConnectionService.publishMucAvatar(conversation, uri, this);
     }
 
     @Override
-    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+    public void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
         if (requestCode == CropImage.CROP_IMAGE_ACTIVITY_REQUEST_CODE) {
             final CropImage.ActivityResult result = CropImage.getActivityResult(data);
             if (resultCode == RESULT_OK) {
-                this.uri = result.getUri();
+                this.uri = result == null ? null : result.getUri();
                 if (xmppConnectionServiceBound) {
                     reloadAvatar();
                 }
             } else if (resultCode == CropImage.CROP_IMAGE_ACTIVITY_RESULT_ERROR_CODE) {
-                Exception error = result.getError();
+                final var error = result == null ? null : result.getError();
                 if (error != null) {
                     Toast.makeText(this, error.getMessage(), Toast.LENGTH_SHORT).show();
                 }
@@ -138,18 +136,21 @@ public class PublishGroupChatProfilePictureActivity extends XmppActivity impleme
 
     @Override
     public void onAvatarPublicationSucceeded() {
-        runOnUiThread(() -> {
-            Toast.makeText(this, R.string.avatar_has_been_published, Toast.LENGTH_SHORT).show();
-            finish();
-        });
+        runOnUiThread(
+                () -> {
+                    Toast.makeText(this, R.string.avatar_has_been_published, Toast.LENGTH_SHORT)
+                            .show();
+                    finish();
+                });
     }
 
     @Override
     public void onAvatarPublicationFailed(@StringRes int res) {
-        runOnUiThread(() -> {
-            Toast.makeText(this, res, Toast.LENGTH_SHORT).show();
-            this.binding.publishButton.setText(R.string.publish);
-            this.binding.publishButton.setEnabled(true);
-        });
+        runOnUiThread(
+                () -> {
+                    Toast.makeText(this, res, Toast.LENGTH_SHORT).show();
+                    this.binding.publishButton.setText(R.string.publish);
+                    this.binding.publishButton.setEnabled(true);
+                });
     }
 }