diff --git a/src/co/aospa/glyph/Manager/StatusManager.java b/src/co/aospa/glyph/Manager/StatusManager.java index c384329..b4eb3f5 100644 --- a/src/co/aospa/glyph/Manager/StatusManager.java +++ b/src/co/aospa/glyph/Manager/StatusManager.java @@ -136,7 +136,11 @@ public static boolean isCallLedEnabled() { public static void setCallLedEnabled(boolean status) { callLedEnabled = status; } - + + public static boolean isProgressAnimationActive() { + return progressAnimationActive; + } + public static void setProgressAnimationActive(boolean status) { progressAnimationActive = status; } @@ -164,10 +168,11 @@ public static int[] getProgressArray() { public static void setProgressArray(int[] progressArrayNext) { progressArray = progressArrayNext; } - + public static boolean isGlyphIdle() { if (isAllLedActive() || isCallLedActive() || isAnimationActive() - || isChargingAnimationActive() || isVolumeAnimationActive() || isCallLedEnabled()) { + || isChargingAnimationActive() || isVolumeAnimationActive() + || isCallLedEnabled() || isProgressAnimationActive()) { return false; } else { return true; diff --git a/src/co/aospa/glyph/Services/FlipToGlyphService.java b/src/co/aospa/glyph/Services/FlipToGlyphService.java index 4f69cd5..67e683b 100644 --- a/src/co/aospa/glyph/Services/FlipToGlyphService.java +++ b/src/co/aospa/glyph/Services/FlipToGlyphService.java @@ -32,6 +32,7 @@ import co.aospa.glyph.Manager.AnimationManager; import co.aospa.glyph.Manager.SettingsManager; +import co.aospa.glyph.Manager.StatusManager; import co.aospa.glyph.Sensors.FlipToGlyphSensor; import co.aospa.glyph.Utils.ResourceUtils; @@ -89,21 +90,23 @@ private void onFlip(boolean flipped) { if (flipped == isFlipped) return; if (DEBUG) Log.d(TAG, "Flipped: " + flipped); if (flipped && SettingsManager.isGlyphFlipAnimationEnabled()) { - boolean hasFlipCsv = false; - try { - ResourceUtils.getAnimation("flip"); - hasFlipCsv = true; - } catch (IOException ignored) { - } finally { - boolean finalHasFlipCsv = hasFlipCsv; - mThreadHandler.post(() -> { - if (finalHasFlipCsv) { - AnimationManager.playCsv(mContext, "flip"); - } else { - AnimationManager.playCsv(mContext, SettingsManager.getGlyphNotifsAnimation()); - AnimationManager.playCsvReverse(mContext, SettingsManager.getGlyphNotifsAnimation()); - } - }); + if (StatusManager.isGlyphIdle()) { + boolean hasFlipCsv = false; + try { + ResourceUtils.getAnimation("flip"); + hasFlipCsv = true; + } catch (IOException ignored) { + } finally { + boolean finalHasFlipCsv = hasFlipCsv; + mThreadHandler.post(() -> { + if (finalHasFlipCsv) { + AnimationManager.playCsv(mContext, "flip"); + } else { + AnimationManager.playCsv(mContext, SettingsManager.getGlyphNotifsAnimation()); + AnimationManager.playCsvReverse(mContext, SettingsManager.getGlyphNotifsAnimation()); + } + }); + } } ringerMode = mAudioManager.getRingerModeInternal();