From 28a551324ac8eca1b8e093f897d4b68cbee5b33f Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Sun, 3 Jun 2018 09:54:14 +0800 Subject: [PATCH] fix(app): orientation changing causes floating window keep to side --- .../ui/floating/CircularMenuWindow.java | 23 ++++++++----------- .../OrientationAwareWindowBridge.java | 1 + 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenuWindow.java b/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenuWindow.java index f11c139c..ee0f170b 100644 --- a/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenuWindow.java +++ b/app/src/main/java/org/autojs/autojs/ui/floating/CircularMenuWindow.java @@ -1,9 +1,11 @@ package org.autojs.autojs.ui.floating; +import android.app.Activity; import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; +import android.util.Log; import android.view.OrientationEventListener; import android.view.View; import android.view.WindowManager; @@ -14,7 +16,7 @@ import com.stardust.enhancedfloaty.WindowBridge; import com.stardust.floatingcircularactionmenu.CircularActionMenu; import com.stardust.floatingcircularactionmenu.gesture.BounceDragGesture; -public class CircularMenuWindow implements FloatyWindow, SensorEventListener { +public class CircularMenuWindow implements FloatyWindow { protected CircularMenuFloaty mFloaty; protected WindowManager mWindowManager; @@ -49,8 +51,8 @@ public class CircularMenuWindow implements FloatyWindow, SensorEventListener { mOrientationEventListener = new OrientationEventListener(mContext) { @Override public void onOrientationChanged(int orientation) { - if (mActionViewWindowBridge.isOrientationChanged(orientation)) { - mDragGesture.keepToEdge(); + if (mActionViewWindowBridge.isOrientationChanged(mContext.getResources().getConfiguration().orientation)) { + keepToSide(); } } }; @@ -59,8 +61,12 @@ public class CircularMenuWindow implements FloatyWindow, SensorEventListener { } } + private void keepToSide() { + mDragGesture.keepToEdge(); + } + private void setInitialState() { - this.mDragGesture.keepToEdge(); + keepToSide(); } private void initGestures() { @@ -190,13 +196,4 @@ public class CircularMenuWindow implements FloatyWindow, SensorEventListener { FloatyService.removeWindow(this); } - @Override - public void onSensorChanged(SensorEvent event) { - mDragGesture.keepToEdge(); - } - - @Override - public void onAccuracyChanged(Sensor sensor, int accuracy) { - - } } diff --git a/app/src/main/java/org/autojs/autojs/ui/floating/OrientationAwareWindowBridge.java b/app/src/main/java/org/autojs/autojs/ui/floating/OrientationAwareWindowBridge.java index c810575d..8a4ef770 100644 --- a/app/src/main/java/org/autojs/autojs/ui/floating/OrientationAwareWindowBridge.java +++ b/app/src/main/java/org/autojs/autojs/ui/floating/OrientationAwareWindowBridge.java @@ -2,6 +2,7 @@ package org.autojs.autojs.ui.floating; import android.content.Context; import android.content.res.Configuration; +import android.util.Log; import android.view.View; import android.view.WindowManager;