整理套件

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" android:theme="@style/Theme.EasyWindowTest"
tools:targetApi="31"> tools:targetApi="31">
<activity <activity
android:name=".SettingActivity" android:name=".ui.SettingActivity"
android:exported="false" android:exported="false"
android:screenOrientation="landscape" /> android:screenOrientation="landscape" />
<activity <activity
android:name=".MainActivity" android:name=".ui.MainActivity"
android:exported="true" android:exported="true"
android:screenOrientation="landscape"> android:screenOrientation="landscape">
<intent-filter> <intent-filter>

View File

@ -1,4 +1,4 @@
package com.ray650128.floatingwindow package com.ray650128.floatingwindow.ui
import android.app.Activity import android.app.Activity
import android.content.Context import android.content.Context
@ -8,6 +8,7 @@ import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.provider.Settings import android.provider.Settings
import androidx.activity.result.contract.ActivityResultContracts import androidx.activity.result.contract.ActivityResultContracts
import com.ray650128.floatingwindow.utils.FloatingWindowHelperUtils
import com.ray650128.floatingwindow.databinding.ActivityMainBinding import com.ray650128.floatingwindow.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() { class MainActivity : AppCompatActivity() {
@ -23,8 +24,8 @@ class MainActivity : AppCompatActivity() {
if (!Settings.canDrawOverlays(mContext)) { if (!Settings.canDrawOverlays(mContext)) {
binding.btnStep1.isEnabled = !Settings.canDrawOverlays(mContext) binding.btnStep1.isEnabled = !Settings.canDrawOverlays(mContext)
binding.btnStep2.isEnabled = Settings.canDrawOverlays(mContext) binding.btnStep2.isEnabled = Settings.canDrawOverlays(mContext)
binding.btnStep3.isEnabled = FloatingWindowHelper.isShowing binding.btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
binding.btnSetting.isEnabled = FloatingWindowHelper.isShowing binding.btnSetting.isEnabled = FloatingWindowHelperUtils.isShowing
return@registerForActivityResult return@registerForActivityResult
} }
showOverlayWindow() showOverlayWindow()
@ -63,23 +64,23 @@ class MainActivity : AppCompatActivity() {
binding.apply { binding.apply {
btnStep1.isEnabled = !Settings.canDrawOverlays(mContext) btnStep1.isEnabled = !Settings.canDrawOverlays(mContext)
btnStep2.isEnabled = Settings.canDrawOverlays(mContext) && !FloatingWindowHelper.isShowing btnStep2.isEnabled = Settings.canDrawOverlays(mContext) && !FloatingWindowHelperUtils.isShowing
btnStep3.isEnabled = FloatingWindowHelper.isShowing btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
btnSetting.isEnabled = FloatingWindowHelper.isShowing btnSetting.isEnabled = FloatingWindowHelperUtils.isShowing
} }
} }
private fun showOverlayWindow() { private fun showOverlayWindow() {
FloatingWindowHelper.show() FloatingWindowHelperUtils.show()
binding.btnStep2.isEnabled = !FloatingWindowHelper.isShowing binding.btnStep2.isEnabled = !FloatingWindowHelperUtils.isShowing
binding.btnStep3.isEnabled = FloatingWindowHelper.isShowing binding.btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
binding.btnSetting.isEnabled = FloatingWindowHelper.isShowing binding.btnSetting.isEnabled = FloatingWindowHelperUtils.isShowing
} }
private fun hideOverlayWindow() { private fun hideOverlayWindow() {
FloatingWindowHelper.hide() FloatingWindowHelperUtils.hide()
binding.btnStep2.isEnabled = !FloatingWindowHelper.isShowing binding.btnStep2.isEnabled = !FloatingWindowHelperUtils.isShowing
binding.btnStep3.isEnabled = FloatingWindowHelper.isShowing binding.btnStep3.isEnabled = FloatingWindowHelperUtils.isShowing
binding.btnSetting.isEnabled = FloatingWindowHelper.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 androidx.appcompat.app.AppCompatActivity
import android.os.Bundle import android.os.Bundle
import android.view.View import android.view.View
import android.widget.AdapterView import android.widget.AdapterView
import androidx.core.widget.addTextChangedListener import androidx.core.widget.addTextChangedListener
import com.ray650128.floatingwindow.utils.FloatingWindowHelperUtils
import com.ray650128.floatingwindow.utils.PreferenceUtil
import com.ray650128.floatingwindow.databinding.ActivitySettingBinding import com.ray650128.floatingwindow.databinding.ActivitySettingBinding
class SettingActivity : AppCompatActivity() { class SettingActivity : AppCompatActivity() {
@ -14,9 +16,9 @@ class SettingActivity : AppCompatActivity() {
private var xOffset = 0 private var xOffset = 0
private var yOffset = 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?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -25,16 +27,16 @@ class SettingActivity : AppCompatActivity() {
xOffset = PreferenceUtil.xOffset xOffset = PreferenceUtil.xOffset
yOffset = PreferenceUtil.yOffset yOffset = PreferenceUtil.yOffset
windowGravity = FloatingWindowHelper.GravityType.fromInt(PreferenceUtil.gravity) windowGravity = FloatingWindowHelperUtils.GravityType.fromInt(PreferenceUtil.gravity)
windowIcon = FloatingWindowHelper.IconType.fromInt(PreferenceUtil.icon) windowIcon = FloatingWindowHelperUtils.IconType.fromInt(PreferenceUtil.icon)
binding.apply { binding.apply {
spGravity.apply { spGravity.apply {
setSelection(PreferenceUtil.gravity) setSelection(PreferenceUtil.gravity)
onItemSelectedListener = object : AdapterView.OnItemSelectedListener { onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
windowGravity = FloatingWindowHelper.GravityType.fromInt(position) windowGravity = FloatingWindowHelperUtils.GravityType.fromInt(position)
FloatingWindowHelper.setGravity(windowGravity) FloatingWindowHelperUtils.setGravity(windowGravity)
} }
override fun onNothingSelected(parent: AdapterView<*>?) {} override fun onNothingSelected(parent: AdapterView<*>?) {}
@ -42,11 +44,11 @@ class SettingActivity : AppCompatActivity() {
} }
spIcon.apply { spIcon.apply {
setSelection(FloatingWindowHelper.IconType.getIndex(PreferenceUtil.icon) ) setSelection(FloatingWindowHelperUtils.IconType.getIndex(PreferenceUtil.icon))
onItemSelectedListener = object : AdapterView.OnItemSelectedListener { onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) { override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
windowIcon = FloatingWindowHelper.IconType.fromIndex(position) windowIcon = FloatingWindowHelperUtils.IconType.fromIndex(position)
FloatingWindowHelper.setIcon(windowIcon) FloatingWindowHelperUtils.setIcon(windowIcon)
} }
override fun onNothingSelected(parent: AdapterView<*>?) {} override fun onNothingSelected(parent: AdapterView<*>?) {}
@ -58,7 +60,7 @@ class SettingActivity : AppCompatActivity() {
addTextChangedListener { addTextChangedListener {
if (it.isNullOrEmpty()) return@addTextChangedListener if (it.isNullOrEmpty()) return@addTextChangedListener
xOffset = it.toString().toIntOrNull() ?: return@addTextChangedListener xOffset = it.toString().toIntOrNull() ?: return@addTextChangedListener
FloatingWindowHelper.setXOffset(xOffset) FloatingWindowHelperUtils.setXOffset(xOffset)
} }
} }
@ -67,7 +69,7 @@ class SettingActivity : AppCompatActivity() {
addTextChangedListener { addTextChangedListener {
if (it.isNullOrEmpty()) return@addTextChangedListener if (it.isNullOrEmpty()) return@addTextChangedListener
yOffset = it.toString().toIntOrNull() ?: return@addTextChangedListener yOffset = it.toString().toIntOrNull() ?: return@addTextChangedListener
FloatingWindowHelper.setYOffset(yOffset) FloatingWindowHelperUtils.setYOffset(yOffset)
} }
} }
@ -80,10 +82,16 @@ class SettingActivity : AppCompatActivity() {
} }
btnCancel.setOnClickListener { btnCancel.setOnClickListener {
FloatingWindowHelper.setXOffset(PreferenceUtil.xOffset) FloatingWindowHelperUtils.setXOffset(PreferenceUtil.xOffset)
FloatingWindowHelper.setYOffset(PreferenceUtil.yOffset) FloatingWindowHelperUtils.setYOffset(PreferenceUtil.yOffset)
FloatingWindowHelper.setGravity(FloatingWindowHelper.GravityType.fromInt(PreferenceUtil.gravity)) FloatingWindowHelperUtils.setGravity(
FloatingWindowHelper.setIcon(FloatingWindowHelper.IconType.fromInt(PreferenceUtil.icon)) FloatingWindowHelperUtils.GravityType.fromInt(
PreferenceUtil.gravity
)
)
FloatingWindowHelperUtils.setIcon(
FloatingWindowHelperUtils.IconType.fromInt(
PreferenceUtil.icon))
finish() finish()
} }
} }

View File

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

View File

@ -1,6 +1,8 @@
package com.ray650128.floatingwindow package com.ray650128.floatingwindow.utils
import android.content.Context import android.content.Context
import com.ray650128.floatingwindow.MyApp
import com.ray650128.floatingwindow.R
/** /**
* Shared Preferences 工具類別 * 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" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
tools:context=".MainActivity"> tools:context=".ui.MainActivity">
<ImageView <ImageView
android:id="@+id/imageView" android:id="@+id/imageView"

View File

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