Fix crashing bugs

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2019-01-29 14:42:34 +01:00
parent 85a5278f79
commit 213c7ea520
4 changed files with 66 additions and 59 deletions

View File

@ -475,23 +475,27 @@ public class CallNotificationController extends BaseController {
break; break;
case ROOM_GROUP_CALL: case ROOM_GROUP_CALL:
GlideApp.with(NextcloudTalkApplication.getSharedApplication().getApplicationContext()) if (avatarImageView != null) {
.asBitmap() GlideApp.with(NextcloudTalkApplication.getSharedApplication().getApplicationContext())
.diskCacheStrategy(DiskCacheStrategy.NONE) .asBitmap()
.load(R.drawable.ic_people_group_white_24px) .diskCacheStrategy(DiskCacheStrategy.NONE)
.centerInside() .load(R.drawable.ic_people_group_white_24px)
.override(avatarSize, avatarSize) .centerInside()
.apply(RequestOptions.bitmapTransform(new CircleCrop())) .override(avatarSize, avatarSize)
.into(avatarImageView); .apply(RequestOptions.bitmapTransform(new CircleCrop()))
.into(avatarImageView);
}
case ROOM_PUBLIC_CALL: case ROOM_PUBLIC_CALL:
GlideApp.with(NextcloudTalkApplication.getSharedApplication().getApplicationContext()) if (avatarImageView != null) {
.asBitmap() GlideApp.with(NextcloudTalkApplication.getSharedApplication().getApplicationContext())
.diskCacheStrategy(DiskCacheStrategy.NONE) .asBitmap()
.load(R.drawable.ic_link_white_24px) .diskCacheStrategy(DiskCacheStrategy.NONE)
.centerInside() .load(R.drawable.ic_link_white_24px)
.override(avatarSize, avatarSize) .centerInside()
.apply(RequestOptions.bitmapTransform(new CircleCrop())) .override(avatarSize, avatarSize)
.into(avatarImageView); .apply(RequestOptions.bitmapTransform(new CircleCrop()))
.into(avatarImageView);
}
break; break;
default: default:
} }

View File

@ -333,31 +333,32 @@ public class ConversationInfoController extends BaseController {
} }
private void loadConversationAvatar() { private void loadConversationAvatar() {
if (conversationAvatarImageView != null) {
switch (conversation.getType()) { switch (conversation.getType()) {
case ROOM_TYPE_ONE_TO_ONE_CALL: case ROOM_TYPE_ONE_TO_ONE_CALL:
if (!TextUtils.isEmpty(conversation.getName())) { if (!TextUtils.isEmpty(conversation.getName())) {
DraweeController draweeController = Fresco.newDraweeControllerBuilder() DraweeController draweeController = Fresco.newDraweeControllerBuilder()
.setOldController(conversationAvatarImageView.getController()) .setOldController(conversationAvatarImageView.getController())
.setAutoPlayAnimations(true) .setAutoPlayAnimations(true)
.setImageRequest(DisplayUtils.getImageRequestForUrl(ApiUtils.getUrlForAvatarWithName(conversationUser.getBaseUrl(), .setImageRequest(DisplayUtils.getImageRequestForUrl(ApiUtils.getUrlForAvatarWithName(conversationUser.getBaseUrl(),
conversation.getName(), R.dimen.avatar_size_big))) conversation.getName(), R.dimen.avatar_size_big)))
.build(); .build();
conversationAvatarImageView.setController(draweeController); conversationAvatarImageView.setController(draweeController);
} }
break; break;
case ROOM_GROUP_CALL: case ROOM_GROUP_CALL:
conversationAvatarImageView.getHierarchy().setPlaceholderImage(DisplayUtils conversationAvatarImageView.getHierarchy().setPlaceholderImage(DisplayUtils
.getRoundedBitmapDrawableFromVectorDrawableResource(getResources(), .getRoundedBitmapDrawableFromVectorDrawableResource(getResources(),
R.drawable.ic_people_group_white_24px)); R.drawable.ic_people_group_white_24px));
break; break;
case ROOM_PUBLIC_CALL: case ROOM_PUBLIC_CALL:
conversationAvatarImageView.getHierarchy().setPlaceholderImage(DisplayUtils conversationAvatarImageView.getHierarchy().setPlaceholderImage(DisplayUtils
.getRoundedBitmapDrawableFromVectorDrawableResource(getResources(), .getRoundedBitmapDrawableFromVectorDrawableResource(getResources(),
R.drawable.ic_link_white_24px)); R.drawable.ic_link_white_24px));
break; break;
default: default:
break; break;
}
} }
} }
} }

View File

@ -190,24 +190,26 @@ public class ConversationsListController extends BaseController implements Searc
if (getActivity() != null) { if (getActivity() != null) {
int avatarSize = (int) DisplayUtils.convertDpToPixel(menuItem.getIcon().getIntrinsicHeight(), getActivity()); int avatarSize = (int) DisplayUtils.convertDpToPixel(menuItem.getIcon().getIntrinsicHeight(), getActivity());
GlideUrl glideUrl = new GlideUrl(ApiUtils.getUrlForAvatarWithNameAndPixels(currentUser.getBaseUrl(), if (currentUser != null) {
currentUser.getUserId(), avatarSize), new LazyHeaders.Builder() GlideUrl glideUrl = new GlideUrl(ApiUtils.getUrlForAvatarWithNameAndPixels(currentUser.getBaseUrl(),
.setHeader("Accept", "image/*") currentUser.getUserId(), avatarSize), new LazyHeaders.Builder()
.setHeader("User-Agent", ApiUtils.getUserAgent()) .setHeader("Accept", "image/*")
.build()); .setHeader("User-Agent", ApiUtils.getUserAgent())
.build());
GlideApp.with(getActivity()) GlideApp.with(getActivity())
.asBitmap() .asBitmap()
.centerInside() .centerInside()
.override(avatarSize, avatarSize) .override(avatarSize, avatarSize)
.apply(RequestOptions.bitmapTransform(new CircleCrop())) .apply(RequestOptions.bitmapTransform(new CircleCrop()))
.load(glideUrl) .load(glideUrl)
.into(new SimpleTarget<Bitmap>() { .into(new SimpleTarget<Bitmap>() {
@Override @Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) { public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
menuItem.setIcon(new BitmapDrawable(resource)); menuItem.setIcon(new BitmapDrawable(resource));
} }
}); });
}
} }
} }

View File

@ -208,7 +208,7 @@ public class WebViewLoginController extends BaseController {
basePageLoaded = true; basePageLoaded = true;
} }
if (!TextUtils.isEmpty(username)) { if (!TextUtils.isEmpty(username) && webView != null) {
if (loginStep == 1) { if (loginStep == 1) {
webView.loadUrl("javascript: {document.getElementsByClassName('login')[0].click(); };"); webView.loadUrl("javascript: {document.getElementsByClassName('login')[0].click(); };");
} else if (!automatedLoginAttempted) { } else if (!automatedLoginAttempted) {