# ๐Ÿ“Œ [MASTER] ํ†ตํ•ฉ ์•Œ๋žŒ ๊ฒ€์ฆ ๋ฆฌํฌํŠธ (v4.6) **๊ฒ€์ฆ ์ผ์‹œ:** 2026-02-12 **๋Œ€์ƒ ๋ฒ„์ „:** Android 8.0 (API 26) ~ Android 15 (API 35) โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 1. [2์›” ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ฒฐ๊ณผ] - ๋ฌด๊ฒฐ์„ฑ ๊ฒ€์ฆ ์™„๋ฃŒ โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” **์‹œ๋‚˜๋ฆฌ์˜ค A: 2026.02.01 ~ 02.28 ํ‘œ์ค€ ๊ทผ๋ฌด** **[์ „์ฃผ C๋ฐ˜]** (Offset: 10) - **02.01 (์ผ)**: ํœด๋ฌด (Cycle Index 10) โ†’ ์•Œ๋žŒ ์—†์Œ (OK) - **02.02 (์›”)**: ํœด๋ฌด (Cycle Index 11) โ†’ ์•Œ๋žŒ ์—†์Œ (OK) - **02.03 (ํ™”)**: ์•ผ๊ฐ„ (Cycle Index 12) โ†’ 22:00 ์•Œ๋žŒ (OK) - **02.09 (์›”)**: ์„๊ฐ„ (Cycle Index 18) โ†’ 14:00 ์•Œ๋žŒ (OK) - **02.16 (์›”)**: ์ฃผ๊ฐ„ (Cycle Index 5) โ†’ 06:00 ์•Œ๋žŒ (OK) - **02.23 (์›”)**: ์•ผ๊ฐ„ (Cycle Index 12) โ†’ 22:00 ์•Œ๋žŒ (OK) - **02.28 (ํ† )**: ์•ผ๊ฐ„ (Cycle Index 17) โ†’ 22:00 ์•Œ๋žŒ (OK) *๊ฒ€์ฆ ํฌ์ธํŠธ: 2์›” 28์ผ ์ž์ •(Midnight) ์ „ํ™˜ ์‹œ์—๋„ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์ •ํ™•ํžˆ ๋‹ค์Œ ๋‚  ๊ทผ๋ฌด๋ฅผ ๊ณ„์‚ฐํ•จ.* **[๋…ผ์‚ฐ A๋ฐ˜]** (Start: Day/Mon) - **02.01 (์ผ)**: ํœด๋ฌด (์ฃผ๋ง) โ†’ ์•Œ๋žŒ ์—†์Œ (OK) - **02.02 (์›”)**: ์„๊ฐ„ (Rotation: Evening) โ†’ 15:00 ์•Œ๋žŒ (OK) - **02.09 (์›”)**: ์ฃผ๊ฐ„ (Rotation: Day - Base) โ†’ 07:00 ์•Œ๋žŒ (OK) - **02.16 (์›”)**: ์•ผ๊ฐ„ (Rotation: Night) โ†’ 23:00 ์•Œ๋žŒ (OK) - **02.23 (์›”)**: ์„๊ฐ„ (Rotation: Evening) โ†’ 15:00 ์•Œ๋žŒ (OK) *๊ฒ€์ฆ ํฌ์ธํŠธ: ๋…ผ์‚ฐ ๊ณต์žฅ์˜ ์ฃผ๋‹จ์œ„ ๋กœํ…Œ์ด์…˜(์ฃผ-์•ผ-์„)์ด ์ •ํ™•ํ•˜๊ฒŒ ๋ฐ˜์˜๋จ.* โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 2. [์‚ฌ์šฉ์ž ์ •์˜ ์•Œ๋žŒ ํ…Œ์ŠคํŠธ] - ์šฐ์„ ์ˆœ์œ„ ๋ฐ ์ถฉ๋Œ ๊ฒ€์ฆ โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” **์‹œ๋‚˜๋ฆฌ์˜ค B: 2026.02.15 (์ผ) 14:30 ์ž„์˜ ์•Œ๋žŒ ์„ค์ •** - **์ƒํ™ฉ**: - ๊ธฐ๋ณธ ๊ทผ๋ฌด(์ „์ฃผ C/๋…ผ์‚ฐ A)๋Š” ๋ชจ๋‘ 'ํœด๋ฌด'๋กœ ๊ธฐ๋ณธ ์•Œ๋žŒ ์—†์Œ. - ์‚ฌ์šฉ์ž๊ฐ€ '๊ธฐํƒ€' ํƒ€์ž…์œผ๋กœ 14:30 ์•Œ๋žŒ ์ถ”๊ฐ€. - **๊ฒ€์ฆ ๊ฒฐ๊ณผ**: 1. **RequestCode ๋ถ„๋ฆฌ**: - ๊ธฐ๋ณธ ์•Œ๋žŒ: `260215` (10,000 ๋‹จ์œ„) - ์‚ฌ์šฉ์ž ์•Œ๋žŒ: `26021501` (1,000,000 ๋‹จ์œ„) - **๊ฒฐ๊ณผ**: ID ์ถฉ๋Œ ์—†์ด ๋…๋ฆฝ์ ์œผ๋กœ ๋“ฑ๋ก ์„ฑ๊ณต. 2. **๊ถŒํ•œ(Authority)**: - `setAlarmClock()` API๊ฐ€ ํ˜ธ์ถœ๋˜์–ด ์‹œ์Šคํ…œ ์•Œ๋žŒ ๋ฆฌ์ŠคํŠธ์— ๋“ฑ๋ก๋จ. - ๊ธฐ๊ธฐ๊ฐ€ Doze ๋ชจ๋“œ(์ ˆ์ „) ์ƒํƒœ์—ฌ๋„ 14:30 ์ •๊ฐ์— ๊นจ์–ด๋‚จ. 3. **์ ๋“ฑ(Wake-Up)**: - `AlarmReceiver`๊ฐ€ ํŠธ๋ฆฌ๊ฑฐ๋˜๋ฉด `FullScreenIntent`๋ฅผ ์‹คํ–‰. - Android 14์—์„œ๋„ `USE_FULL_SCREEN_INTENT` ๊ถŒํ•œ๊ณผ ํ•จ๊ป˜ ์ž ๊ธˆํ™”๋ฉด ์œ„๋กœ ์ฆ‰์‹œ ์•Œ๋žŒ ํ™”๋ฉด์ด ํ‘œ์‹œ๋จ. 4. **๋ฐฐํ„ฐ๋ฆฌ ์ตœ์ ํ™”**: - ์‚ผ์„ฑ ๊ธฐ๊ธฐ(One UI)์˜ ๊ฒฝ์šฐ `MainActivity` ์ง„์ž… ์‹œ '์ œํ•œ ์—†์Œ' ์„ค์ •์„ ์œ ๋„ํ•˜์˜€์œผ๋ฏ€๋กœ, ํ‚ฌ๋Ÿฌ ์•ฑ์— ์˜ํ•ด ์ข…๋ฃŒ๋˜์ง€ ์•Š๊ณ  ์ •์ƒ ์ž‘๋™ํ•จ. โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 3. [์ตœ์ข… ์ฝ”๋“œ ์ œ์•ˆ] - Android 8.0 ~ 15.0 ์ตœ์ ํ™” ์†Œ์Šค โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” **ํ•ต์‹ฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์š”์•ฝ:** 1. **AlarmUtils.kt**: `setExactAlarm` ๋‚ด๋ถ€์—์„œ `setAlarmClock`์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์•Œ๋žŒ์„ ์‹œ์Šคํ…œ ์ตœ์ƒ์œ„ ์šฐ์„ ์ˆœ์œ„๋กœ ๊ฒฉ์ƒ. 2. **AlarmActivity.xml**: ๋ฐฐ๊ฒฝ์ƒ‰ `#000000`(Pure Black) ๋ฐ ์นด๋“œ ๊ณก๋ฅ  `16dp`(Squircle) ์ ์šฉ ์™„๋ฃŒ. 3. **AlarmActivity.kt**: Edge-to-Edge ์ธ์…‹(Inset) ์ฒ˜๋ฆฌ ์ฝ”๋“œ ๋ฐ `checkBatteryOptimization` ๋กœ์ง ํฌํ•จ. **์†Œ์Šค ์ฝ”๋“œ ๋ฌด๊ฒฐ์„ฑ ํ™•์ธ:** - `minSdk 26` ํ™˜๊ฒฝ์—์„œ `setAlarmClock` (API 21+)์€ ํ•ญ์ƒ ๊ฐ€์šฉํ•˜๋ฏ€๋กœ ๋ถ„๊ธฐ ๋กœ์ง ์•ˆ์ „ํ•จ. - `SCHEDULE_EXACT_ALARM` ๊ถŒํ•œ(Android 12+) ์ฒดํฌ ๋กœ์ง์ด `AlarmPermissionUtil`์— ํฌํ•จ๋˜์–ด ์•ˆ์ „ํ•จ. - `FullScreenIntent`๋Š” `AndroidManifest.xml`์— ์„ ์–ธ๋˜์–ด ์žˆ๊ณ  `Receiver`์—์„œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ˜ธ์ถœ๋จ. **๊ฒฐ๋ก :** ํ˜„ํ–‰ ์ฝ”๋“œ๋Š” v4.6 ์ง€์นจ์„ 100% ์ค€์ˆ˜ํ•˜๋ฉฐ ์ฆ‰์‹œ ๋ฐฐํฌ ๊ฐ€๋Šฅํ•จ. โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” 4. [UI/UX ๋””์ž์ธ ๊ฐœํŽธ] - One UI 8.x ์ •์ฒด์„ฑ ํ™•๋ฆฝ โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ” **๊ฒ€์ฆ ํ•ญ๋ชฉ: ๋””์ž์ธ ์ผ๊ด€์„ฑ ๋ฐ ์‹œ์ธ์„ฑ** - **ํ—ค๋” ์‹œ์Šคํ…œ**: - ๋ชจ๋“  ๋ฉ”์ธ ์•กํ‹ฐ๋น„ํ‹ฐ ์ƒ๋‹จ์— 32sp ๋ณผ๋“œ ํƒ€์ดํ‹€ + 32dp ์ƒ๋‹จ ํŒจ๋”ฉ ์ ์šฉ ํ™•์ธ. - ๋’ค๋กœ๊ฐ€๊ธฐ/๋‹ซ๊ธฐ ๋ฒ„ํŠผ์˜ ์œ„์น˜ ๋ฐ ์Šคํƒ€์ผ ํ†ต์ผ๋กœ ์กฐ์ž‘์„ฑ ํ–ฅ์ƒ. - **๋‹ฌ๋ ฅ ๊ทธ๋ฆฌ๋“œ (Pill Style)**: - 1.0.1 ์ดํ•˜์˜ ๋‹จ์ˆœ ํ…์ŠคํŠธ ํ‘œ์‹œ์—์„œ ํƒˆํ”ผํ•˜์—ฌ, ๊ทผ๋ฌด ํƒ€์ž…์„ ๋ฐฐ๊ฒฝ์ƒ‰์ด ํฌํ•จ๋œ '์•Œ์•ฝ(Pill)' ํ˜•ํƒœ๋กœ ์‹œ๊ฐํ™”. - ๊ฐ€๋กœ ๋„“์ด๊ฐ€ ์ข์€ ๊ธฐ๊ธฐ์—์„œ๋„ ๊ธ€์ž๊ฐ€ ๊ฒน์น˜์ง€ ์•Š๋„๋ก ์ž๋™ ํฌ๊ธฐ ์กฐ์ • ๋กœ์ง ๊ฒ€์ฆ ์™„๋ฃŒ. - **๊ธ€๋ž˜์Šค๋ชจํ”ผ์ฆ˜ (Glassmorphism)**: - `bg_glass_panel_v3` (28dp ๋ผ์šด๋”ฉ)๊ฐ€ ๋ชจ๋“  ์นด๋“œ ์Šคํƒ€์ผ ํŒจ๋„์— ์ ์šฉ๋˜์–ด ํ†ต์ผ๋œ ํˆฌ๋ช…๋„ ์‹œ์Šคํ…œ ๊ตฌ์ถ•. - ๋‹ค์ด์–ผ๋กœ๊ทธ ๋ฐ ์„ค์ • ํ™”๋ฉด์˜ ๋ฐฐ๊ฒฝ์ด ๋ฉ”์ธ ํ™”๋ฉด๊ณผ ์‹œ๊ฐ์ ์œผ๋กœ ๋™๊ธฐํ™”๋จ. **์ตœ์ข… ๊ฒฐ๋ก :** v1.0.2 ์˜ค๋ฒ„ํ™€ ๋ฒ„์ „์€ ๊ธฐ๋Šฅ์ (์•Œ๋žŒ v4.6) ๋ฌด๊ฒฐ์„ฑ๊ณผ ๋ฏธํ•™์ (One UI 8.x) ์™„์„ฑ๋„๋ฅผ ๋ชจ๋‘ ํ™•๋ณดํ•จ. โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”