summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/SystemServer.java13
1 files changed, 9 insertions, 4 deletions
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index dbed091f7da2..f921ccf62a3b 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -929,6 +929,9 @@ public final class SystemServer implements Dumpable {
startCoreServices(t);
startOtherServices(t);
startApexServices(t);
+ // Only update the timeout after starting all the services so that we use
+ // the default timeout to start system server.
+ updateWatchdogTimeout(t);
} catch (Throwable ex) {
Slog.e("System", "******************************************");
Slog.e("System", "************ Failure starting system services", ex);
@@ -1499,10 +1502,6 @@ public final class SystemServer implements Dumpable {
SQLiteCompatibilityWalFlags.reset();
t.traceEnd();
- t.traceBegin("UpdateWatchdogTimeout");
- Watchdog.getInstance().registerSettingsObserver(context);
- t.traceEnd();
-
// Records errors and logs, for example wtf()
// Currently this service indirectly depends on SettingsProvider so do this after
// InstallSystemProviders.
@@ -3055,6 +3054,12 @@ public final class SystemServer implements Dumpable {
t.traceEnd(); // startApexServices
}
+ private void updateWatchdogTimeout(@NonNull TimingsTraceAndSlog t) {
+ t.traceBegin("UpdateWatchdogTimeout");
+ Watchdog.getInstance().registerSettingsObserver(mSystemContext);
+ t.traceEnd();
+ }
+
private boolean deviceHasConfigString(@NonNull Context context, @StringRes int resId) {
String serviceName = context.getString(resId);
return !TextUtils.isEmpty(serviceName);