summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/pm/GentleUpdateHelper.java40
-rw-r--r--services/core/java/com/android/server/pm/PackageInstallerService.java1
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)