diff options
Diffstat (limited to 'services/java/com/android/server/BootReceiver.java')
-rw-r--r-- | services/java/com/android/server/BootReceiver.java | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/services/java/com/android/server/BootReceiver.java b/services/java/com/android/server/BootReceiver.java index 7e1de5a..235c662 100644 --- a/services/java/com/android/server/BootReceiver.java +++ b/services/java/com/android/server/BootReceiver.java @@ -20,11 +20,14 @@ import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.IPackageManager; import android.os.Build; import android.os.DropBoxManager; import android.os.FileObserver; import android.os.FileUtils; import android.os.RecoverySystem; +import android.os.RemoteException; +import android.os.ServiceManager; import android.os.SystemProperties; import android.provider.Downloads; import android.util.Slog; @@ -69,7 +72,15 @@ public class BootReceiver extends BroadcastReceiver { Slog.e(TAG, "Can't log boot events", e); } try { - removeOldUpdatePackages(context); + boolean onlyCore = false; + try { + onlyCore = IPackageManager.Stub.asInterface(ServiceManager.getService( + "package")).isOnlyCoreApps(); + } catch (RemoteException e) { + } + if (!onlyCore) { + removeOldUpdatePackages(context); + } } catch (Exception e) { Slog.e(TAG, "Can't remove old update packages", e); } |