From 32c56ca3ae0f20b707d05b4234883b37336b9b79 Mon Sep 17 00:00:00 2001 From: Karim Abou Zeid Date: Wed, 30 Dec 2015 17:49:53 +0100 Subject: [PATCH] Avoid multiple recreate() calls --- .../ui/activities/base/AbsBaseActivity.java | 16 ++++++++++------ .../player/PlaybackControlsFragment.java | 8 +++++--- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsBaseActivity.java b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsBaseActivity.java index 3f7d307d..8cc8b3cd 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsBaseActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/activities/base/AbsBaseActivity.java @@ -22,6 +22,7 @@ public abstract class AbsBaseActivity extends AbsThemeActivity implements KabVie public static final int PERMISSION_REQUEST = 100; private boolean areViewsEnabled; + private boolean recreating; private boolean createdWithPermissionsGranted; private String[] permissions; @@ -66,12 +67,15 @@ public abstract class AbsBaseActivity extends AbsThemeActivity implements KabVie } protected void postRecreate() { - new Handler().postDelayed(new Runnable() { - @Override - public void run() { - recreate(); - } - }, 200); + if (!recreating) { + recreating = true; + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + recreate(); + } + }, 200); + } } @Override diff --git a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java index 7d1e5a00..87d91e84 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java +++ b/app/src/main/java/com/kabouzeid/gramophone/ui/fragments/player/PlaybackControlsFragment.java @@ -287,9 +287,11 @@ public class PlaybackControlsFragment extends Fragment implements MusicServiceEv } public void hide() { - playPauseFab.setScaleX(0f); - playPauseFab.setScaleY(0f); - playPauseFab.setRotation(0f); + if (playPauseFab != null) { + playPauseFab.setScaleX(0f); + playPauseFab.setScaleY(0f); + playPauseFab.setRotation(0f); + } } private void updateProgressSliderTint() {