整理套件

This commit is contained in:
Raymond Yang 2023-08-03 11:16:27 +08:00
parent dc996dda8c
commit dd3b2f5f11
9 changed files with 60 additions and 37 deletions

View File

@ -17,11 +17,11 @@
android:theme="@style/Theme.EasyWindowTest"
tools:targetApi="31">
<activity
android:name=".SettingActivity"
android:name=".ui.SettingActivity"
android:exported="false"
android:screenOrientation="landscape" />
<activity
android:name=".MainActivity"
android:name=".ui.MainActivity"
android:exported="true"
android:screenOrientation="landscape">
<intent-filter>

View File

@ -1,4 +1,4 @@
package com.ray650128.floatingwindow
package com.ray650128.floatingwindow.ui
import android.app.Activity
import android.content.Context
@ -8,6 +8,7 @@ import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.provider.Settings
import androidx.activity.result.contract.ActivityResultContracts
import com.ray650128.floatingwindow.utils.FloatingWindowHelperUtils
import com.ray650128.floatingwindow.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
@ -23,8 +24,8 @@ class MainActivity : AppCompatActivity() {
if (!Settings.canDrawOverlays(mContext)) {
binding.btnStep1.isEnabled = !Settings.canDrawOverlays(mContext)
binding.btnStep2.isEnabled = Settings.canDrawOverlays(mContext)
binding.btnStep3.isEnabled = FloatingWindowHelper.isShowing
binding.btnSetting.isEnabled = FloatingWindowHelper.isShowing
binding.btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
binding.btnSetting.isEnabled = FloatingWindowHelperUtils.isShowing
return@registerForActivityResult
}
showOverlayWindow()
@ -63,23 +64,23 @@ class MainActivity : AppCompatActivity() {
binding.apply {
btnStep1.isEnabled = !Settings.canDrawOverlays(mContext)
btnStep2.isEnabled = Settings.canDrawOverlays(mContext) && !FloatingWindowHelper.isShowing
btnStep3.isEnabled = FloatingWindowHelper.isShowing
btnSetting.isEnabled = FloatingWindowHelper.isShowing
btnStep2.isEnabled = Settings.canDrawOverlays(mContext) && !FloatingWindowHelperUtils.isShowing
btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
btnSetting.isEnabled = FloatingWindowHelperUtils.isShowing
}
}
private fun showOverlayWindow() {
FloatingWindowHelper.show()
binding.btnStep2.isEnabled = !FloatingWindowHelper.isShowing
binding.btnStep3.isEnabled = FloatingWindowHelper.isShowing
binding.btnSetting.isEnabled = FloatingWindowHelper.isShowing
FloatingWindowHelperUtils.show()
binding.btnStep2.isEnabled = !FloatingWindowHelperUtils.isShowing
binding.btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
binding.btnSetting.isEnabled = FloatingWindowHelperUtils.isShowing
}
private fun hideOverlayWindow() {
FloatingWindowHelper.hide()
binding.btnStep2.isEnabled = !FloatingWindowHelper.isShowing
binding.btnStep3.isEnabled = FloatingWindowHelper.isShowing
binding.btnSetting.isEnabled = FloatingWindowHelper.isShowing
FloatingWindowHelperUtils.hide()
binding.btnStep2.isEnabled = !FloatingWindowHelperUtils.isShowing
binding.btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
binding.btnSetting.isEnabled = FloatingWindowHelperUtils.isShowing
}
}

View File

@ -1,10 +1,12 @@
package com.ray650128.floatingwindow
package com.ray650128.floatingwindow.ui
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.view.View
import android.widget.AdapterView
import androidx.core.widget.addTextChangedListener
import com.ray650128.floatingwindow.utils.FloatingWindowHelperUtils
import com.ray650128.floatingwindow.utils.PreferenceUtil
import com.ray650128.floatingwindow.databinding.ActivitySettingBinding
class SettingActivity : AppCompatActivity() {
@ -14,9 +16,9 @@ class SettingActivity : AppCompatActivity() {
private var xOffset = 0
private var yOffset = 0
private var windowGravity = FloatingWindowHelper.GravityType.TOP_LEFT
private var windowGravity = FloatingWindowHelperUtils.GravityType.TOP_LEFT
private var windowIcon = FloatingWindowHelper.IconType.CHICKEN
private var windowIcon = FloatingWindowHelperUtils.IconType.CHICKEN
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@ -25,16 +27,16 @@ class SettingActivity : AppCompatActivity() {
xOffset = PreferenceUtil.xOffset
yOffset = PreferenceUtil.yOffset
windowGravity = FloatingWindowHelper.GravityType.fromInt(PreferenceUtil.gravity)
windowIcon = FloatingWindowHelper.IconType.fromInt(PreferenceUtil.icon)
windowGravity = FloatingWindowHelperUtils.GravityType.fromInt(PreferenceUtil.gravity)
windowIcon = FloatingWindowHelperUtils.IconType.fromInt(PreferenceUtil.icon)
binding.apply {
spGravity.apply {
setSelection(PreferenceUtil.gravity)
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
windowGravity = FloatingWindowHelper.GravityType.fromInt(position)
FloatingWindowHelper.setGravity(windowGravity)
windowGravity = FloatingWindowHelperUtils.GravityType.fromInt(position)
FloatingWindowHelperUtils.setGravity(windowGravity)
}
override fun onNothingSelected(parent: AdapterView<*>?) {}
@ -42,11 +44,11 @@ class SettingActivity : AppCompatActivity() {
}
spIcon.apply {
setSelection(FloatingWindowHelper.IconType.getIndex(PreferenceUtil.icon) )
setSelection(FloatingWindowHelperUtils.IconType.getIndex(PreferenceUtil.icon))
onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
windowIcon = FloatingWindowHelper.IconType.fromIndex(position)
FloatingWindowHelper.setIcon(windowIcon)
windowIcon = FloatingWindowHelperUtils.IconType.fromIndex(position)
FloatingWindowHelperUtils.setIcon(windowIcon)
}
override fun onNothingSelected(parent: AdapterView<*>?) {}
@ -58,7 +60,7 @@ class SettingActivity : AppCompatActivity() {
addTextChangedListener {
if (it.isNullOrEmpty()) return@addTextChangedListener
xOffset = it.toString().toIntOrNull() ?: return@addTextChangedListener
FloatingWindowHelper.setXOffset(xOffset)
FloatingWindowHelperUtils.setXOffset(xOffset)
}
}
@ -67,7 +69,7 @@ class SettingActivity : AppCompatActivity() {
addTextChangedListener {
if (it.isNullOrEmpty()) return@addTextChangedListener
yOffset = it.toString().toIntOrNull() ?: return@addTextChangedListener
FloatingWindowHelper.setYOffset(yOffset)
FloatingWindowHelperUtils.setYOffset(yOffset)
}
}
@ -80,10 +82,16 @@ class SettingActivity : AppCompatActivity() {
}
btnCancel.setOnClickListener {
FloatingWindowHelper.setXOffset(PreferenceUtil.xOffset)
FloatingWindowHelper.setYOffset(PreferenceUtil.yOffset)
FloatingWindowHelper.setGravity(FloatingWindowHelper.GravityType.fromInt(PreferenceUtil.gravity))
FloatingWindowHelper.setIcon(FloatingWindowHelper.IconType.fromInt(PreferenceUtil.icon))
FloatingWindowHelperUtils.setXOffset(PreferenceUtil.xOffset)
FloatingWindowHelperUtils.setYOffset(PreferenceUtil.yOffset)
FloatingWindowHelperUtils.setGravity(
FloatingWindowHelperUtils.GravityType.fromInt(
PreferenceUtil.gravity
)
)
FloatingWindowHelperUtils.setIcon(
FloatingWindowHelperUtils.IconType.fromInt(
PreferenceUtil.icon))
finish()
}
}

View File

@ -1,11 +1,13 @@
package com.ray650128.floatingwindow
package com.ray650128.floatingwindow.utils
import android.view.Gravity
import android.view.MotionEvent
import android.view.WindowManager
import com.hjq.window.EasyWindow
import com.ray650128.floatingwindow.MyApp
import com.ray650128.floatingwindow.R
object FloatingWindowHelper {
object FloatingWindowHelperUtils {
private var _isShowing: Boolean = false
val isShowing: Boolean

View File

@ -1,6 +1,8 @@
package com.ray650128.floatingwindow
package com.ray650128.floatingwindow.utils
import android.content.Context
import com.ray650128.floatingwindow.MyApp
import com.ray650128.floatingwindow.R
/**
* Shared Preferences 工具類別

View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#000000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M19,13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector android:height="24dp" android:tint="#000000"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M19,13H5v-2h14v2z"/>
</vector>

View File

@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
tools:context=".ui.MainActivity">
<ImageView
android:id="@+id/imageView"

View File

@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".SettingActivity">
tools:context=".ui.SettingActivity">
<ImageView
android:id="@+id/imageView2"