Skip to content
Snippets Groups Projects
Verified Commit 9284167a authored by Torsten Grote's avatar Torsten Grote
Browse files

Limit scene transition animations to API 23 and above

to work-around android bug #224270.
This is only necessary if the transitioning view might not be available
anymore when the exit transition is made.
parent df44015c
No related branches found
No related tags found
No related merge requests found
......@@ -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);
}
}
});
......
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);
}
}
};
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment