From 5bf8c1c9e437eb530ff4e28254b1a543a3704605 Mon Sep 17 00:00:00 2001 From: PBK-Bin Date: Sun, 10 Jan 2021 21:45:20 +0800 Subject: [PATCH 1/5] fix: android.support to androidx --- floatwindow/build.gradle | 10 +++++----- .../fixedfloatwindow/ExampleInstrumentedTest.java | 5 +++-- .../java/com/yhao/floatwindow/FloatActivity.java | 3 ++- .../main/java/com/yhao/floatwindow/FloatView.java | 4 ++++ .../java/com/yhao/floatwindow/FloatWindow.java | 15 +++++++++++---- .../main/java/com/yhao/floatwindow/MoveType.java | 3 ++- .../java/com/yhao/floatwindow/PermissionUtil.java | 3 ++- .../main/java/com/yhao/floatwindow/Screen.java | 3 ++- .../src/main/java/com/yhao/floatwindow/Util.java | 1 - 9 files changed, 31 insertions(+), 16 deletions(-) diff --git a/floatwindow/build.gradle b/floatwindow/build.gradle index e24e4ee..1e3da40 100644 --- a/floatwindow/build.gradle +++ b/floatwindow/build.gradle @@ -10,7 +10,7 @@ android { targetSdkVersion 26 versionCode 1 versionName "1.0" - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' } @@ -25,14 +25,14 @@ android { dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) - androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + androidTestCompile('androidx.test.espresso:espresso-core:3.1.0', { exclude group: 'com.android.support', module: 'support-annotations' }) - compile 'com.android.support:appcompat-v7:26.+' + implementation 'androidx.appcompat:appcompat:1.0.0' testCompile 'junit:junit:4.12' } // JitPack Maven -apply plugin: 'com.github.dcendents.android-maven' +// apply plugin: 'com.github.dcendents.android-maven' // Your Group -group='com.github.yhaolpz' +// group='com.github.yhaolpz' diff --git a/floatwindow/src/androidTest/java/com/example/fixedfloatwindow/ExampleInstrumentedTest.java b/floatwindow/src/androidTest/java/com/example/fixedfloatwindow/ExampleInstrumentedTest.java index 3a708e1..7c8a267 100644 --- a/floatwindow/src/androidTest/java/com/example/fixedfloatwindow/ExampleInstrumentedTest.java +++ b/floatwindow/src/androidTest/java/com/example/fixedfloatwindow/ExampleInstrumentedTest.java @@ -1,8 +1,9 @@ package com.example.fixedfloatwindow; import android.content.Context; -import android.support.test.InstrumentationRegistry; -import android.support.test.runner.AndroidJUnit4; + +import androidx.test.InstrumentationRegistry; +import androidx.test.runner.AndroidJUnit4; import org.junit.Test; import org.junit.runner.RunWith; diff --git a/floatwindow/src/main/java/com/yhao/floatwindow/FloatActivity.java b/floatwindow/src/main/java/com/yhao/floatwindow/FloatActivity.java index 51f7b08..6857d91 100644 --- a/floatwindow/src/main/java/com/yhao/floatwindow/FloatActivity.java +++ b/floatwindow/src/main/java/com/yhao/floatwindow/FloatActivity.java @@ -7,7 +7,8 @@ import android.os.Build; import android.os.Bundle; import android.provider.Settings; -import android.support.annotation.RequiresApi; + +import androidx.annotation.RequiresApi; import java.util.ArrayList; import java.util.List; diff --git a/floatwindow/src/main/java/com/yhao/floatwindow/FloatView.java b/floatwindow/src/main/java/com/yhao/floatwindow/FloatView.java index 49587dd..17a294f 100644 --- a/floatwindow/src/main/java/com/yhao/floatwindow/FloatView.java +++ b/floatwindow/src/main/java/com/yhao/floatwindow/FloatView.java @@ -28,6 +28,10 @@ void updateX(int x) { void updateY(int y) { } + void setFlags(int flags) {} + + void updateFlags(int flags) {} + int getX() { return 0; } diff --git a/floatwindow/src/main/java/com/yhao/floatwindow/FloatWindow.java b/floatwindow/src/main/java/com/yhao/floatwindow/FloatWindow.java index bc57903..13caf45 100644 --- a/floatwindow/src/main/java/com/yhao/floatwindow/FloatWindow.java +++ b/floatwindow/src/main/java/com/yhao/floatwindow/FloatWindow.java @@ -2,14 +2,15 @@ import android.animation.TimeInterpolator; import android.content.Context; -import android.support.annotation.LayoutRes; -import android.support.annotation.MainThread; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.LayoutRes; +import androidx.annotation.MainThread; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; + import java.util.HashMap; import java.util.Map; @@ -61,6 +62,7 @@ public static class B { int mWidth = ViewGroup.LayoutParams.WRAP_CONTENT; int mHeight = ViewGroup.LayoutParams.WRAP_CONTENT; int gravity = Gravity.TOP | Gravity.START; + int mFlags; int xOffset; int yOffset; boolean mShow = true; @@ -110,6 +112,11 @@ public B setWidth(@Screen.screenType int screenType, float ratio) { return this; } + public B setFlags(int flags) { + mFlags = flags; + return this; + } + public B setHeight(@Screen.screenType int screenType, float ratio) { mHeight = (int) ((screenType == Screen.width ? diff --git a/floatwindow/src/main/java/com/yhao/floatwindow/MoveType.java b/floatwindow/src/main/java/com/yhao/floatwindow/MoveType.java index eccad1c..412e8c0 100644 --- a/floatwindow/src/main/java/com/yhao/floatwindow/MoveType.java +++ b/floatwindow/src/main/java/com/yhao/floatwindow/MoveType.java @@ -1,6 +1,7 @@ package com.yhao.floatwindow; -import android.support.annotation.IntDef; + +import androidx.annotation.IntDef; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/floatwindow/src/main/java/com/yhao/floatwindow/PermissionUtil.java b/floatwindow/src/main/java/com/yhao/floatwindow/PermissionUtil.java index e6e25fb..5adc9f2 100644 --- a/floatwindow/src/main/java/com/yhao/floatwindow/PermissionUtil.java +++ b/floatwindow/src/main/java/com/yhao/floatwindow/PermissionUtil.java @@ -6,10 +6,11 @@ import android.os.Binder; import android.os.Build; import android.provider.Settings; -import android.support.annotation.RequiresApi; import android.view.View; import android.view.WindowManager; +import androidx.annotation.RequiresApi; + import java.lang.reflect.Method; /** diff --git a/floatwindow/src/main/java/com/yhao/floatwindow/Screen.java b/floatwindow/src/main/java/com/yhao/floatwindow/Screen.java index 9bf687c..dfe8795 100644 --- a/floatwindow/src/main/java/com/yhao/floatwindow/Screen.java +++ b/floatwindow/src/main/java/com/yhao/floatwindow/Screen.java @@ -1,6 +1,7 @@ package com.yhao.floatwindow; -import android.support.annotation.IntDef; + +import androidx.annotation.IntDef; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; diff --git a/floatwindow/src/main/java/com/yhao/floatwindow/Util.java b/floatwindow/src/main/java/com/yhao/floatwindow/Util.java index 585117b..7838cd3 100644 --- a/floatwindow/src/main/java/com/yhao/floatwindow/Util.java +++ b/floatwindow/src/main/java/com/yhao/floatwindow/Util.java @@ -6,7 +6,6 @@ import android.graphics.Rect; import android.os.Build; import android.provider.Settings; -import android.support.annotation.RequiresApi; import android.view.LayoutInflater; import android.view.View; import android.view.WindowManager; From 97de59c6e2851d45164cfa08b023c32525b87824 Mon Sep 17 00:00:00 2001 From: PBK-Bin Date: Sun, 10 Jan 2021 21:46:11 +0800 Subject: [PATCH 2/5] add setFlags function --- .../main/java/com/yhao/floatwindow/FloatPhone.java | 12 ++++++++++++ .../main/java/com/yhao/floatwindow/IFloatWindow.java | 2 ++ .../java/com/yhao/floatwindow/IFloatWindowImpl.java | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/floatwindow/src/main/java/com/yhao/floatwindow/FloatPhone.java b/floatwindow/src/main/java/com/yhao/floatwindow/FloatPhone.java index 4a889b1..e1931a2 100644 --- a/floatwindow/src/main/java/com/yhao/floatwindow/FloatPhone.java +++ b/floatwindow/src/main/java/com/yhao/floatwindow/FloatPhone.java @@ -52,6 +52,11 @@ public void setGravity(int gravity, int xOffset, int yOffset) { mLayoutParams.y = mY = yOffset; } + @Override + void setFlags(int flags) { + super.setFlags(flags); + mLayoutParams.flags = flags; + } @Override public void init() { @@ -143,6 +148,13 @@ void updateY(int y) { mWindowManager.updateViewLayout(mView, mLayoutParams); } + @Override + void updateFlags(int flags) { + if (isRemove) return; + mLayoutParams.flags = flags; + mWindowManager.updateViewLayout(mView, mLayoutParams); + } + @Override int getX() { return mX; diff --git a/floatwindow/src/main/java/com/yhao/floatwindow/IFloatWindow.java b/floatwindow/src/main/java/com/yhao/floatwindow/IFloatWindow.java index 18b1d3d..6f8eed2 100644 --- a/floatwindow/src/main/java/com/yhao/floatwindow/IFloatWindow.java +++ b/floatwindow/src/main/java/com/yhao/floatwindow/IFloatWindow.java @@ -26,6 +26,8 @@ public abstract class IFloatWindow { public abstract void updateY(@Screen.screenType int screenType,float ratio); + public abstract void updateFlags(int flags); + public abstract View getView(); abstract void dismiss(); diff --git a/floatwindow/src/main/java/com/yhao/floatwindow/IFloatWindowImpl.java b/floatwindow/src/main/java/com/yhao/floatwindow/IFloatWindowImpl.java index 65f222e..9c8f058 100644 --- a/floatwindow/src/main/java/com/yhao/floatwindow/IFloatWindowImpl.java +++ b/floatwindow/src/main/java/com/yhao/floatwindow/IFloatWindowImpl.java @@ -55,6 +55,7 @@ private IFloatWindowImpl() { mFloatView.setSize(mB.mWidth, mB.mHeight); mFloatView.setGravity(mB.gravity, mB.xOffset, mB.yOffset); mFloatView.setView(mB.mView); + mFloatView.setFlags(mB.mFlags); mFloatLifecycle = new FloatLifecycle(mB.mApplicationContext, mB.mShow, mB.mActivities, new LifecycleListener() { @Override public void onShow() { @@ -110,6 +111,7 @@ public void hide() { @Override public boolean isShowing() { + if(mB == null) return false; return isShow; } @@ -156,6 +158,11 @@ public void updateY(int screenType, float ratio) { } + @Override + public void updateFlags(int flags) { + mFloatView.updateFlags(flags); + } + @Override public int getX() { return mFloatView.getX(); From a95e74f2d49ad400a7f74616968353fad69498eb Mon Sep 17 00:00:00 2001 From: PBK-Bin Date: Sun, 10 Jan 2021 21:52:10 +0800 Subject: [PATCH 3/5] update README.md --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index e15aab7..849bc67 100644 --- a/README.md +++ b/README.md @@ -176,6 +176,16 @@ setMoveStyle 方法可设置动画效果,只在 MoveType.slide 或 MoveType.ba 本人已尽量去兼容更多机型,但经济有限,如果你想帮助此库,提 Issues 标出当前版本不适配的机型即可,感谢~ +### 新增功能 +1, setFlags (可修复悬浮窗 TextEdit 不可弹出输入法) +```java +// 使悬浮窗获取焦点 +FloatWindow.get().updateFlags(WindowManager.LayoutParams.FLAG_LAYOUT_INSET_DECOR); + +// 使悬浮窗失去焦点 +FloatWindow.get().updateFlags(WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE); + +``` **更新日志** -- From 5e1de89f33c5a5459cafe5e585cf3b4b19256d90 Mon Sep 17 00:00:00 2001 From: PBK Bin <39079814+PBK-B@users.noreply.github.com> Date: Wed, 23 Jun 2021 11:35:38 +0800 Subject: [PATCH 4/5] Update README.md --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 849bc67..37528e3 100644 --- a/README.md +++ b/README.md @@ -30,19 +30,19 @@ 第 1 步、在工程的 build.gradle 中添加: ``` - allprojects { - repositories { - ... - maven { url 'https://jitpack.io' } - } +allprojects { + repositories { + ... + maven { url 'https://jitpack.io' } } +} ``` 第 2 步、在应用的 build.gradle 中添加: ``` - dependencies { - compile 'com.github.yhaolpz:FloatWindow:1.0.9' - } +dependencies { + implementation 'com.github.PBK-B:FloatWindow:Tag' +} ``` 使用: From 30c6128f93cdf8e5b93b8710c7d0204dc3870098 Mon Sep 17 00:00:00 2001 From: PBK Bin <39079814+PBK-B@users.noreply.github.com> Date: Wed, 23 Jun 2021 11:37:03 +0800 Subject: [PATCH 5/5] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 37528e3..f8b6512 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # FloatWindow 安卓任意界面悬浮窗 -[![](https://jitpack.io/v/yhaolpz/FloatWindow.svg)](https://jitpack.io/#yhaolpz/FloatWindow) +[![](https://jitpack.io/v/PBK-B/FloatWindow.svg)](https://jitpack.io/#PBK-B/FloatWindow) ![悬浮按钮图](https://raw.githubusercontent.com/yhaolpz/FixedFloatWindow/master/slide.gif) @@ -41,7 +41,7 @@ allprojects { ``` dependencies { - implementation 'com.github.PBK-B:FloatWindow:Tag' + implementation 'com.github.PBK-B:FloatWindow:1.0.9' } ```