diff options
| author | 2010-04-05 15:16:12 -0700 | |
|---|---|---|
| committer | 2010-04-05 15:16:12 -0700 | |
| commit | 4c59ca8bdb02bf0ca0bb090ecb39d94e260ab2f0 (patch) | |
| tree | 3297fb2eb638c3ae9ba760b172cf079ae4c278af | |
| parent | 21390f08138801f9e008917c0c0149839a80d002 (diff) | |
| parent | 944ff0b788bf1702bad38d21cc2b83a9985dd112 (diff) | |
Merge "remove OTA packages from the old (pre-froyo) updater" into froyo
| -rw-r--r-- | services/java/com/android/server/BootReceiver.java | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/services/java/com/android/server/BootReceiver.java b/services/java/com/android/server/BootReceiver.java index 15aad0e510dc..f40975185fe8 100644 --- a/services/java/com/android/server/BootReceiver.java +++ b/services/java/com/android/server/BootReceiver.java @@ -21,6 +21,7 @@ import android.content.ContentResolver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.net.Downloads; import android.os.Build; import android.os.DropBoxManager; import android.os.FileObserver; @@ -45,6 +46,14 @@ public class BootReceiver extends BroadcastReceiver { private static final File TOMBSTONE_DIR = new File("/data/tombstones"); + // The pre-froyo package and class of the system updater, which + // ran in the system process. We need to remove its packages here + // in order to clean up after a pre-froyo-to-froyo update. + private static final String OLD_UPDATER_PACKAGE = + "com.google.android.systemupdater"; + private static final String OLD_UPDATER_CLASS = + "com.google.android.systemupdater.SystemUpdateReceiver"; + // Keep a reference to the observer so the finalizer doesn't disable it. private static FileObserver sTombstoneObserver = null; @@ -70,10 +79,21 @@ public class BootReceiver extends BroadcastReceiver { } catch (Exception e) { Slog.e(TAG, "Can't log boot events", e); } + try { + removeOldUpdatePackages(context); + } catch (Exception e) { + Slog.e(TAG, "Can't remove old update packages", e); + } + } }.start(); } + private void removeOldUpdatePackages(Context ctx) { + Downloads.ByUri.removeAllDownloadsByPackage( + ctx, OLD_UPDATER_PACKAGE, OLD_UPDATER_CLASS); + } + private void logBootEvents(Context ctx) throws IOException { final DropBoxManager db = (DropBoxManager) ctx.getSystemService(Context.DROPBOX_SERVICE); final SharedPreferences prefs = ctx.getSharedPreferences("log_files", Context.MODE_PRIVATE); |