|
26 | 26 | import android.content.pm.IPackageManager; |
27 | 27 | import android.os.Binder; |
28 | 28 | import android.os.Environment; |
| 29 | +import android.os.FileObserver; |
29 | 30 | import android.os.Handler; |
30 | 31 | import android.os.Message; |
31 | 32 | import android.os.Process; |
@@ -91,6 +92,7 @@ public class DeviceStorageMonitorService extends Binder { |
91 | 92 | private Intent mStorageFullIntent; |
92 | 93 | private Intent mStorageNotFullIntent; |
93 | 94 | private CachePackageDataObserver mClearCacheObserver; |
| 95 | + private final CacheFileDeletedObserver mCacheFileDeletedObserver; |
94 | 96 | private static final int _TRUE = 1; |
95 | 97 | private static final int _FALSE = 0; |
96 | 98 | private long mMemLowThreshold; |
@@ -324,6 +326,9 @@ public DeviceStorageMonitorService(Context context) { |
324 | 326 | mMemLowThreshold = getMemThreshold(); |
325 | 327 | mMemFullThreshold = getMemFullThreshold(); |
326 | 328 | checkMemory(true); |
| 329 | + |
| 330 | + mCacheFileDeletedObserver = new CacheFileDeletedObserver(); |
| 331 | + mCacheFileDeletedObserver.startWatching(); |
327 | 332 | } |
328 | 333 |
|
329 | 334 |
|
@@ -419,4 +424,15 @@ public long getMemoryLowThreshold() { |
419 | 424 | public boolean isMemoryLow() { |
420 | 425 | return mLowMemFlag; |
421 | 426 | } |
| 427 | + |
| 428 | + public static class CacheFileDeletedObserver extends FileObserver { |
| 429 | + public CacheFileDeletedObserver() { |
| 430 | + super(Environment.getDownloadCacheDirectory().getAbsolutePath(), FileObserver.DELETE); |
| 431 | + } |
| 432 | + |
| 433 | + @Override |
| 434 | + public void onEvent(int event, String path) { |
| 435 | + EventLogTags.writeCacheFileDeleted(path); |
| 436 | + } |
| 437 | + } |
422 | 438 | } |
0 commit comments