diff options
| -rw-r--r-- | services/core/java/com/android/server/pm/GentleUpdateHelper.java | 40 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageInstallerService.java | 1 |
2 files changed, 41 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/pm/GentleUpdateHelper.java b/services/core/java/com/android/server/pm/GentleUpdateHelper.java index babcd3308ca3..925c4208d401 100644 --- a/services/core/java/com/android/server/pm/GentleUpdateHelper.java +++ b/services/core/java/com/android/server/pm/GentleUpdateHelper.java @@ -39,6 +39,7 @@ import android.os.SystemProperties; import android.text.format.DateUtils; import android.util.Slog; +import com.android.internal.util.IndentingPrintWriter; import com.android.internal.util.Preconditions; import java.util.ArrayDeque; @@ -111,6 +112,25 @@ public class GentleUpdateHelper { long timeout = mFinishTime - SystemClock.elapsedRealtime(); return Math.max(timeout, 0); } + + void dump(IndentingPrintWriter pw) { + pw.printPair("packageNames", packageNames); + pw.println(); + pw.printPair("finishTime", mFinishTime); + pw.println(); + pw.printPair("constraints notInCallRequired", constraints.isNotInCallRequired()); + pw.println(); + pw.printPair("constraints deviceIdleRequired", constraints.isDeviceIdleRequired()); + pw.println(); + pw.printPair("constraints appNotForegroundRequired", + constraints.isAppNotForegroundRequired()); + pw.println(); + pw.printPair("constraints appNotInteractingRequired", + constraints.isAppNotInteractingRequired()); + pw.println(); + pw.printPair("constraints appNotTopVisibleRequired", + constraints.isAppNotTopVisibleRequired()); + } } private final Context mContext; @@ -288,4 +308,24 @@ public class GentleUpdateHelper { } catch (RemoteException ignore) { } } + + void dump(IndentingPrintWriter pw) { + pw.println("Gentle update with constraints info:"); + pw.increaseIndent(); + pw.printPair("hasPendingIdleJob", mHasPendingIdleJob); + pw.println(); + pw.printPair("Num of PendingIdleFutures", mPendingIdleFutures.size()); + pw.println(); + ArrayDeque<PendingInstallConstraintsCheck> pendingChecks = mPendingChecks.clone(); + int size = pendingChecks.size(); + pw.printPair("Num of PendingChecks", size); + pw.println(); + pw.increaseIndent(); + for (int i = 0; i < size; i++) { + pw.print(i); pw.print(":"); + PendingInstallConstraintsCheck pendingInstallConstraintsCheck = pendingChecks.remove(); + pendingInstallConstraintsCheck.dump(pw); + pw.println(); + } + } } diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java index 1721f83538ff..934da677e940 100644 --- a/services/core/java/com/android/server/pm/PackageInstallerService.java +++ b/services/core/java/com/android/server/pm/PackageInstallerService.java @@ -1820,6 +1820,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements pw.decreaseIndent(); } mSilentUpdatePolicy.dump(pw); + mGentleUpdateHelper.dump(pw); } @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE) |