diff --git a/briar-android/src/org/briarproject/android/blogs/BlogPostViewHolder.java b/briar-android/src/org/briarproject/android/blogs/BlogPostViewHolder.java index 865b0df35511a763c74b611cbb7b99af3399e0ff..5274c2379a6b66357b98cfda1d11daf51ffa3412 100644 --- a/briar-android/src/org/briarproject/android/blogs/BlogPostViewHolder.java +++ b/briar-android/src/org/briarproject/android/blogs/BlogPostViewHolder.java @@ -3,6 +3,7 @@ package org.briarproject.android.blogs; import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.os.Build; import android.support.annotation.Nullable; import android.support.annotation.UiThread; import android.support.v4.app.ActivityCompat; @@ -134,11 +135,17 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder { i.putExtra(GROUP_ID, item.getGroupId().getBytes()); i.putExtra(POST_ID, item.getId().getBytes()); - ActivityOptionsCompat options = - makeSceneTransitionAnimation((Activity) ctx, layout, - getTransitionName(item.getId())); - ActivityCompat - .startActivity((Activity) ctx, i, options.toBundle()); + // work-around for android bug #224270 + if (Build.VERSION.SDK_INT >= 23) { + ActivityOptionsCompat options = + makeSceneTransitionAnimation((Activity) ctx, layout, + getTransitionName(item.getId())); + ActivityCompat + .startActivity((Activity) ctx, i, + options.toBundle()); + } else { + ctx.startActivity(i); + } } }); diff --git a/briar-android/src/org/briarproject/android/contact/ContactListFragment.java b/briar-android/src/org/briarproject/android/contact/ContactListFragment.java index 474b2cc2b7b7b7f854541eb1128776378b266679..31c8e463f856ce72eef665e5c5d490f42a6c835d 100644 --- a/briar-android/src/org/briarproject/android/contact/ContactListFragment.java +++ b/briar-android/src/org/briarproject/android/contact/ContactListFragment.java @@ -1,6 +1,7 @@ package org.briarproject.android.contact; import android.content.Intent; +import android.os.Build; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v4.app.ActivityCompat; @@ -121,22 +122,28 @@ public class ContactListFragment extends BaseFragment implements EventListener { ConversationActivity.class); i.putExtra(GROUP_ID, groupId.getBytes()); - ContactListAdapter.ContactHolder holder = - (ContactListAdapter.ContactHolder) list - .getRecyclerView() - .findViewHolderForAdapterPosition( - adapter.findItemPosition(item)); - Pair<View, String> avatar = - Pair.create((View) holder.avatar, ViewCompat - .getTransitionName(holder.avatar)); - Pair<View, String> bulb = - Pair.create((View) holder.bulb, ViewCompat - .getTransitionName(holder.bulb)); - ActivityOptionsCompat options = - makeSceneTransitionAnimation(getActivity(), - avatar, bulb); - ActivityCompat.startActivity(getActivity(), i, - options.toBundle()); + // work-around for android bug #224270 + if (Build.VERSION.SDK_INT >= 23) { + ContactListAdapter.ContactHolder holder = + (ContactListAdapter.ContactHolder) list + .getRecyclerView() + .findViewHolderForAdapterPosition( + adapter.findItemPosition( + item)); + Pair<View, String> avatar = + Pair.create((View) holder.avatar, ViewCompat + .getTransitionName(holder.avatar)); + Pair<View, String> bulb = + Pair.create((View) holder.bulb, ViewCompat. + getTransitionName(holder.bulb)); + ActivityOptionsCompat options = + makeSceneTransitionAnimation(getActivity(), + avatar, bulb); + ActivityCompat.startActivity(getActivity(), i, + options.toBundle()); + } else { + getActivity().startActivity(i); + } } };