WaveUp์ ๊ทผ์ ์ผ์ ์๋ก ์์ ํ๋ค๋ฉด ํด๋์ ํ๋ฅผ ๊นจ์ฐ๊ณ , ์ฆ ํ๋ฉด์ ์ผ๋ ์ฑ์
๋๋ค.
๋๋ ์๊ณ๋ฅผ ๋ณด๊ธฐ ์ํด ์ ์ ๋ฒํผ์ ๋๋ฅด๋ ๊ฒ์ ํผํ๊ณ ์ถ์๊ธฐ ๋๋ฌธ์ ์ด ์ฑ์ ๊ฐ๋ฐํ์ต๋๋ค. ๋๋ ํด๋ํฐ์์ ์์ฃผ ํ๋ ์ผ์
๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ ํํ๊ฒ ์ํํ๋ ๋ค๋ฅธ ์ฑ์ด ์ด๋ฏธ ์์ต๋๋ค. ์ ๋ ํ๋ฅญํ ์ฑ์ธ Gravity Screen On/Off์์ ์๊ฐ์ ๋ฐ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋๋ ์คํ ์์ค ์ํํธ์จ์ด์ ์ด๋ ฌํ ํฌ์ด๋ฉฐ ๊ฐ๋ฅํ๋ค๋ฉด ํด๋ํฐ์ ๋ฌด๋ฃ ์ํํธ์จ์ด(๋ฌด๋ฃ ๋งฅ์ฃผ์ฒ๋ผ ๋ฌด๋ฃ์ผ ๋ฟ๋ง ์๋๋ผ ์์ ์ฒ๋ผ ๋ฌด๋ฃ)๋ฅผ ์ค์นํ๋ ค๊ณ ๋
ธ๋ ฅํฉ๋๋ค. ์ด ์์
์ ์ํํ๋ ์คํ ์์ค ์ฑ์ ์ฐพ์ ์ ์์ด์ ๊ทธ๋ฅ ์ง์ ํด๋ดค์ต๋๋ค. ๊ด์ฌ์ด ์๋ค๋ฉด ๋ค์ ์ฝ๋๋ฅผ ์ดํด๋ณด์ธ์.
https://gitlab.com/juanitobananas/wave-up
ํ๋ฉด์ ์ผ๋ ค๋ฉด ํด๋ํฐ์ ๊ทผ์ ์ผ์ ์๋ก ์์ ํ๋ค๋ฉด ๋ฉ๋๋ค. ์ด๋ฅผ ์จ์ด๋ธ ๋ชจ๋๋ผ๊ณ ํ๋ฉฐ ์ค์๋ก ํ๋ฉด์ด ์ผ์ง๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ค์ ํ๋ฉด์์ ๋นํ์ฑํํ ์ ์์ต๋๋ค.
์ฃผ๋จธ๋๋ ์ง๊ฐ์์ ์ค๋งํธํฐ์ ๊บผ๋ด๋ฉด ํ๋ฉด์ด ์ผ์ง๋๋ค. ์ด๋ฅผ ํฌ์ผ ๋ชจ๋๋ผ๊ณ ํ๋ฉฐ ์ค์ ํ๋ฉด์์ ๋นํ์ฑํํ ์๋ ์์ต๋๋ค.
์ด ๋ ๋ชจ๋๋ ๋ชจ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ต๋๋ค.
๋ํ ๊ทผ์ ์ผ์๋ฅผ 1์ด(๋๋ ํน์ ์๊ฐ) ๋์ ๊ฐ๋ฆฌ๋ฉด ํด๋ํฐ์ด ์ ๊ธฐ๊ณ ํ๋ฉด์ด ๊บผ์ง๋๋ค. ํน๋ณํ ์ด๋ฆ์ ์์ง๋ง ์ค์ ํ๋ฉด์์๋ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์ด๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฑํ๋์ด ์์ง ์์ต๋๋ค.
์ด์ ์ ๊ทผ์ ์ผ์๋ฅผ ๋ค์ด๋ณธ ์ ์ด ์๋ ๋ถ๋ค์ ์ํด ๋ง์๋๋ฆฌ์๋ฉด, ๊ทผ์ ์ผ์๋ ์ ํ ํตํํ ๋ ๊ท๋ฅผ ๋๋ ์์น ๊ทผ์ฒ ์ด๋๊ฐ์ ์๋ ์์ ๊ฒ์
๋๋ค. ์ค์ ๋ก๋ ๋ณผ ์ ์์ผ๋ฉฐ ํตํ ์ค์ผ ๋ ํ๋ฉด์ ๋๋๋ก ํด๋ํฐ์ ์ง์ํ๋ ์ญํ ์ ํฉ๋๋ค.
์ ๊ฑฐ
์ด ์ฑ์ ์ฅ์น ๊ด๋ฆฌ์ ๊ถํ์ ์ฌ์ฉํฉ๋๋ค. ๋ฐ๋ผ์ WaveUp์ '์ ์์ ์ผ๋ก' ์ ๊ฑฐํ ์ ์์ต๋๋ค.
์ ๊ฑฐํ๋ ค๋ฉด ํด๋น ํ๋ก๊ทธ๋จ์ ์ด๊ณ ๋ฉ๋ด ํ๋จ์ ์๋ 'WaveUp ์ ๊ฑฐ' ๋ฒํผ์ ์ฌ์ฉํ์ธ์.
์๋ ค์ง ๋ฌธ์
์ํ๊น๊ฒ๋ ์ผ๋ถ ์ค๋งํธํฐ์์๋ ๊ทผ์ ์ผ์์ ์๋ฆฌ๋ฅผ ๋ค์ผ๋ฉด์ CPU๋ฅผ ์ผ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด๋ฅผ wake lock์ด๋ผ๊ณ ํ๋ฉฐ ๋ฐฐํฐ๋ฆฌ๊ฐ ์๋นํ ์๋ชจ๋ฉ๋๋ค. ์ด๊ฒ์ ๋ด ์๋ชป์ด ์๋๋ฉฐ ์ด๋ฅผ ๋ฐ๊พธ๊ธฐ ์ํด ์๋ฌด๊ฒ๋ ํ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์ ํ๊ธฐ๋ ๊ทผ์ ์ผ์์ ์๋ฆฌ๋ฅผ ๊ณ์ ๋ฃ๊ณ ์๋ ๋์ ํ๋ฉด์ด ๊บผ์ง๋ฉด "์ ์๊ธฐ ๋ชจ๋"๋ก ์ ํ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ฐฐํฐ๋ฆฌ ์๋ชจ๋ ์ฌ์ค์ 0์
๋๋ค.
ํ์ Android ๊ถํ:
โธ ํ๋ฉด์ ์ผ๋ ค๋ฉด WAKE_LOCK
โธ RECEIVE_BOOT_COMPLETED๋ฅผ ์ ํํ๋ฉด ๋ถํ
์ ์๋์ผ๋ก ์์๋ฉ๋๋ค.
โธ ํตํ ์ค์ WaveUp์ ์ผ์ ์ค์งํ๋ ค๋ฉด READ_PHONE_STATE
โธ BLUETOOTH(๋๋ Android 10 ์ด์์์๋ BLUETOOTH_CONNECT)๋ฅผ ์ฌ์ฉํ์ฌ ํตํ ์ค์ ๋ธ๋ฃจํฌ์ค ํค๋์
์ ๊ฐ์งํ๊ณ WaveUp์ ์ผ์ ์ค์งํ์ง ์์
โธ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๊ณ์ ์คํํ๋ ค๋ฉด REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, FOREGROUND_SERVICE ๋ฐ FOREGROUND_SERVICE_SPECIAL_USE(ํญ์ ๊ทผ์ ์ผ์๋ฅผ ์์ ํ๊ธฐ ์ํด WaveUp์ ํ์์ ์)
โธ Android 8 ์ดํ์ ์ฅ์น๋ฅผ ์ ๊ทธ๋ ค๋ฉด USES_POLICY_FORCE_LOCK์ ์ฌ์ฉํฉ๋๋ค. (์ด๋ ๊ฒ ํ๋ฉด ์ฌ์ฉ์๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ ํจํด์ด๋ ํ์ ์ฌ์ฉํด์ผ ํฉ๋๋ค.)
โธ BIND_ACCESSIBILITY_SERVICE (์ ๊ทผ์ฑ API)๋ Android 9 ์ด์์์ ํ๋ฉด์ ๋๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
โธ REQUEST_DELETE_PACKAGES๋ฅผ ์ฌ์ฉํ์ฌ ์์ฒด ์ ๊ฑฐ(USES_POLICY_FORCE_LOCK์ ์ฌ์ฉํ ๊ฒฝ์ฐ)
๊ธฐํ ์ฐธ๊ณ ์ฌํญ
์ด๊ฒ์ ์ ๊ฐ ์์ฑํ ์ต์ด์ Android ์ฑ์ด๋ฏ๋ก ์ฃผ์ํ์ธ์!
์ด๋ ์คํ ์์ค ์ธ๊ณ์ ๋ํ ๋์ ์ฒซ ๋ฒ์งธ ์์ ๊ธฐ์ฌ์ด๊ธฐ๋ ํฉ๋๋ค. ๋ง์ง๋ง์ผ๋ก!
์ด๋ค ๋ฐฉ์์ผ๋ก๋ ํผ๋๋ฐฑ์ ์ฃผ์๊ฑฐ๋ ๊ธฐ์ฌํด ์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค!
์ฝ์ด ์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค!
์คํ์์ค ๋ฐ์!!!
๋ฒ์ญ
WaveUp์ ๊ทํ์ ์ธ์ด๋ก ๋ฒ์ญํ๋ ๋ฐ ๋์์ ์ค ์ ์๋ค๋ฉด ์ ๋ง ์ข์ ๊ฒ์
๋๋ค(์์ด ๋ฒ์ ๋ ๊ฐ์ ๋ ์ ์์).
Transifex์์๋ https://www.transifex.com/juanitobananas/waveup/ ๋ฐ https://www.transifex.com/juanitobananas/libcommon/์ ๋ ํ๋ก์ ํธ๋ก ๋ฒ์ญ์ด ๊ฐ๋ฅํฉ๋๋ค.
๊ฐ์ฌ์ ๋ง์
ํน๋ณํ ๊ฐ์ฌ๋๋ฆฝ๋๋ค:
์ฐธ์กฐ: https://gitlab.com/juanitobananas/wave-up/#acknowledgments
์
๋ฐ์ดํธ ๋ ์ง
2023. 10. 31.