فهرست منبع

Hide avatar if it fails to load

Signed-off-by: Mario Danic <mario@lovelyhq.com>
Mario Danic 7 سال پیش
والد
کامیت
ebd5d001d5

+ 1 - 1
app/src/main/java/com/nextcloud/talk/activities/CallActivity.java

@@ -566,8 +566,8 @@ public class CallActivity extends AppCompatActivity {
                 Logging.d(TAG, "Creating front facing camera capturer.");
                 VideoCapturer videoCapturer = enumerator.createCapturer(deviceName, null);
 
-                cameraSwitchCount = 0;
                 if (videoCapturer != null) {
+                    cameraSwitchCount = 0;
                     return videoCapturer;
                 }
             }

+ 18 - 0
app/src/main/java/com/nextcloud/talk/controllers/ChatController.java

@@ -25,12 +25,14 @@ import android.content.ClipData;
 import android.content.ClipboardManager;
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.os.Handler;
 import android.support.annotation.NonNull;
+import android.support.annotation.Nullable;
 import android.support.v7.widget.LinearLayoutManager;
 import android.support.v7.widget.RecyclerView;
 import android.text.TextUtils;
@@ -47,9 +49,13 @@ import android.widget.ImageView;
 
 import com.bluelinelabs.conductor.RouterTransaction;
 import com.bluelinelabs.conductor.changehandler.HorizontalChangeHandler;
+import com.bumptech.glide.load.DataSource;
 import com.bumptech.glide.load.engine.DiskCacheStrategy;
+import com.bumptech.glide.load.engine.GlideException;
 import com.bumptech.glide.load.resource.bitmap.CircleCrop;
+import com.bumptech.glide.request.RequestListener;
 import com.bumptech.glide.request.RequestOptions;
+import com.bumptech.glide.request.target.Target;
 import com.nextcloud.talk.R;
 import com.nextcloud.talk.activities.CallActivity;
 import com.nextcloud.talk.adapters.messages.MagicIncomingTextMessageViewHolder;
@@ -200,6 +206,18 @@ public class ChatController extends BaseController implements MessagesListAdapte
                             .centerInside()
                             .override(imageView.getMeasuredWidth(), imageView.getMeasuredHeight())
                             .apply(RequestOptions.bitmapTransform(new CircleCrop()))
+                            .listener(new RequestListener<Bitmap>() {
+                                @Override
+                                public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<Bitmap> target, boolean isFirstResource) {
+                                    imageView.setVisibility(View.GONE);
+                                    return true;
+                                }
+
+                                @Override
+                                public boolean onResourceReady(Bitmap resource, Object model, Target<Bitmap> target, DataSource dataSource, boolean isFirstResource) {
+                                    return false;
+                                }
+                            })
                             .into(imageView);
                 }
             });