Include GentleUpdateHelper state in dumpsys
Add this information in dumpsys can help to figure out the pending checks status. Bug: 280721983 Test: atest InstallConstraintsTest Test: dumpsys package Change-Id: Iadeba29c42a5b342fb26980447b36a4087803923
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1820,6 +1820,7 @@ public class PackageInstallerService extends IPackageInstaller.Stub implements
|
||||
pw.decreaseIndent();
|
||||
}
|
||||
mSilentUpdatePolicy.dump(pw);
|
||||
mGentleUpdateHelper.dump(pw);
|
||||
}
|
||||
|
||||
@VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
|
||||
|
||||
Reference in New Issue
Block a user