diff --git a/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java index 823f7ad64abcc2807afc5f53b33d7fc8be016ebf..37e8ed1409aacf17906adae907251bc4ce40b884 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/activity/BriarActivity.java @@ -27,11 +27,11 @@ import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK; import static android.content.Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; import static android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION; -import static android.os.Build.MANUFACTURER; import static android.os.Build.VERSION.SDK_INT; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_DOZE_WHITELISTING; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_PASSWORD; import static org.briarproject.briar.android.util.UiUtils.getDozeWhitelistingIntent; +import static org.briarproject.briar.android.util.UiUtils.isSamsung7; @SuppressLint("Registered") public abstract class BriarActivity extends BaseActivity { @@ -80,7 +80,7 @@ public abstract class BriarActivity extends BaseActivity { public void setSceneTransitionAnimation() { if (SDK_INT < 21) return; // workaround for #1007 - if (SDK_INT == 24 && MANUFACTURER.equalsIgnoreCase("Samsung")) { + if (isSamsung7(this)) { return; } Transition slide = new Slide(Gravity.RIGHT); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostViewHolder.java b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostViewHolder.java index d013fbcb503feeab079353cc07bd7ed373bf5cc5..3126d87042f0fcec175a84da50c59091e641b370 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostViewHolder.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/blog/BlogPostViewHolder.java @@ -34,6 +34,7 @@ import static org.briarproject.briar.android.blog.BasePostFragment.POST_ID; import static org.briarproject.briar.android.util.UiUtils.TEASER_LENGTH; import static org.briarproject.briar.android.util.UiUtils.getSpanned; import static org.briarproject.briar.android.util.UiUtils.getTeaser; +import static org.briarproject.briar.android.util.UiUtils.isSamsung7; import static org.briarproject.briar.android.util.UiUtils.makeLinksClickable; import static org.briarproject.briar.api.blog.MessageType.POST; @@ -130,7 +131,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder { i.putExtra(GROUP_ID, item.getGroupId().getBytes()); i.putExtra(POST_ID, item.getId().getBytes()); - if (Build.VERSION.SDK_INT >= 23) { + if (Build.VERSION.SDK_INT >= 23 && !isSamsung7(ctx)) { ActivityOptionsCompat options = makeSceneTransitionAnimation((Activity) ctx, layout, getTransitionName(item.getId())); @@ -138,6 +139,7 @@ class BlogPostViewHolder extends RecyclerView.ViewHolder { options.toBundle()); } else { // work-around for android bug #224270 + // work-around for Samsung Android 7 bug #1007 ctx.startActivity(i); } }); diff --git a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java index 04172d7b021fb0dca767f7fe1d086520ccf32684..7e31452feb806b53346f46187cf432dbf41803e0 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/util/UiUtils.java @@ -35,6 +35,8 @@ import javax.annotation.Nullable; import static android.content.Context.POWER_SERVICE; import static android.content.Intent.CATEGORY_DEFAULT; import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK; +import static android.os.Build.MANUFACTURER; +import static android.os.Build.VERSION.SDK_INT; import static android.provider.Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS; import static android.text.format.DateUtils.DAY_IN_MILLIS; import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH; @@ -176,4 +178,8 @@ public class UiUtils { return i; } + public static boolean isSamsung7(Context context) { + return SDK_INT == 24 && MANUFACTURER.equalsIgnoreCase("Samsung"); + } + }