Proposed follow-up to the existing research docs. All source material is already
decompiled and on disk at /home/point/nook-decompiled/nookPartner/sources/.
pm enable com.nook.partner is required when GlowLightService (warmth control)
is disabled. But the command re-enables the entire package — not just the one
service. We don't have a complete picture of what else starts, which receivers fire
on boot, or which components are safe to disable afterward.
The existing docs cover specific features well but there is no component-level inventory of the package.
| Component(s) | Covered in |
|---|---|
service/GlowLightService |
eink-and-frontlight.md |
statusbar/StatusBarService — full 26-method AIDL |
statusbar-service.md |
statusbar/BatteryIcon — temperature thresholds + shutdown |
temperature-management.md |
otamanager/OtaIntentService + SideloadInstaller |
ota-updates.md |
EpdDisplayControllerImpl — View.invalidate(int) hook |
eink-and-frontlight.md |
WiFi Direct Suspend via StatusBarService |
wifi-and-direct-suspend.md |
- Files:
PartnerReceiver.java,PartnerApplication.java - Question: Which system broadcasts does
PartnerReceiverhandle, and what does each one start? What doesPartnerApplication.onCreate()initialize at package startup? - Why it matters: This is the definitive answer to what wakes up when the
package is enabled. Every
<receiver>withBOOT_COMPLETEDorCONNECTIVITY_CHANGEis background activity the user didn't ask for. - Effort: ~1 hr
- Files:
service/AutoMode.java,service/CTMMode.java,service/ScheduleMode.java,service/ManualMode.java - Question: What do the time-based and auto-warmth modes do? What
Settings.Systemkeys do they write, and on what triggers? - Why it matters: Directly explains the AutoWarmth conflict noted in the KOReader release README — knowing which keys these modes write tells us whether KOReader's manual warmth writes can race with the service's scheduler.
- Effort: ~1 hr
- Files:
lockscreen/LockScreenService.java,LockScreen.java,LockScreenManager.java,LockScreenSlider.java,LockScreenSurfaceView.java - Question: What is nookPartner's role in slide-to-unlock, separate from the
PowerManagerServicelayer already documented inpower-management.md? IsLockScreenServicethe component that draws the slide UI, or is it a coordinator? - Effort: ~1.5 hr
- Files:
power/LowBatteryActivity.java,power/SleepNotificationReceiver.java(power/PowerOffScreenActivity.javais partially covered intemperature-management.md) - Question: What threshold triggers
LowBatteryActivity? What doesSleepNotificationReceiverlisten for, and is it safe to disable? - Effort: ~45 min
- Files:
usb/UsbDebuggingActivity.java,UsbStorageManager.java,usb/MediaFormat.java - Question: Does
UsbDebuggingActivityreplace or wrap the standard Android ADB authorization dialog? Can it be disabled without breaking ADB access? - Effort: ~1 hr
- Files:
DropboxReceiver.java,DropboxReceiverKt.java - Question: What does this upload and when? Dropbox here likely refers to
Android's internal
DropBoxManager(crash/ANR logs), not Dropbox cloud — but confirm. Safe to disable? - Effort: ~30 min
- Standard Android WiFi settings UI ported into nookPartner. Not device-specific.
Already understood via
wifi-and-direct-suspend.md. - Effort: ~1 hr (skip unless needed)
- Standard Bluetooth pairing UI. Not relevant to current work.
- Effort: ~1 hr (skip unless needed)
- Screen saver, daydream mode, and out-of-box experience. No relevance to KOReader.
- Effort: ~1 hr combined (skip)
A single new file: com-nook-partner-components.md
Sections:
- Package startup —
PartnerApplicationinit,PartnerReceiverbroadcast table - GlowLight scheduling — AutoMode / CTMMode / ScheduleMode internals, Settings.System keys written, conflict surface with KOReader
- LockScreen layer — nookPartner's role in slide-to-unlock
- Power / battery activities — low battery threshold, sleep notification
- USB management — ADB dialog, storage manager
- Crash reporting — DropboxReceiver
- Master component table — every
<service>,<receiver>,<activity>with its intent filters, whether it auto-starts, and a safe-to-disable verdict
The master table in section 7 is the primary deliverable — it extends the stub
table at the bottom of ota-updates.md into a complete reference.
| Priority | Items | Effort |
|---|---|---|
| P1 | PartnerReceiver/Application + GlowLight modes | ~2 hr |
| P2 | LockScreen + power + USB + Dropbox | ~3.25 hr |
| P3 | WiFi/BT/screensaver/daydream/OOBE | ~3 hr (skip) |
| P1+P2 total | ~5.25 hr |
P1 alone (~2 hr) produces the PartnerReceiver broadcast table and GlowLight
scheduling docs, which are the most immediately useful. P2 rounds it out into a
complete component inventory.