1.1 KiB
USB size DEX boundary
Stock tvfw.jar!/classes.dex, class
Lorg/droidtv/tv/os/storage/UsbVolumeListerImpl;, private
getVolumes(String), code item code_off=0x17b5e0, registers 15.
At PC 0x0133 the method reads only
sys.mtk.dmremoteservice.ready. If it is not exactly "1", execution jumps
past PC 0x0157 without ever assigning UsbVolume.mFreeDiskSize; the
constructor default zero is then published and logged. This is the confirmed
zero-size mechanism.
The MediaTek producer itself uses StatFs, divides bytes by 1024 and stores
KiB in MountPoint.mTotalSize/mFreeSize. UsbVolumeListerImpl divides those
fields by another 1024, proving that the public mRawDiskSize/mFreeDiskSize
values on this path are MiB. The fallback must therefore divide StatFs bytes by
1,048,576, not store raw bytes.
Adding guarded StatFs calls and exception handling grows the code item and
requires a rebuilt framework DEX. tvfw.jar is the registered tvfw Java
shared library (not BOOTCLASSPATH) and is coupled to stock tvfw.odex/VDEX and
client class-loader contexts; no live or standalone JAR replacement is produced.