summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/res/res/values/strings.xml5
-rw-r--r--core/res/res/values/symbols.xml2
-rw-r--r--proto/src/system_messages.proto4
-rw-r--r--services/core/java/com/android/server/am/ActivityManagerService.java32
4 files changed, 43 insertions, 0 deletions
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 56e1fed5bcec..b53a399f0c8a 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -3634,6 +3634,11 @@
<!-- Message of notification shown when Test Harness Mode is enabled. [CHAR LIMIT=NONE] -->
<string name="test_harness_mode_notification_message">Perform a factory reset to disable Test Harness Mode.</string>
+ <!-- Title of notification shown when serial console is enabled. [CHAR LIMIT=NONE] -->
+ <string name="console_running_notification_title">Serial console enabled</string>
+ <!-- Message of notification shown when serial console is enabled. [CHAR LIMIT=NONE] -->
+ <string name="console_running_notification_message">Performance is impacted. To disable, check bootloader.</string>
+
<!-- Title of notification shown when contaminant is detected on the USB port. [CHAR LIMIT=NONE] -->
<string name="usb_contaminant_detected_title">Liquid or debris in USB port</string>
<!-- Message of notification shown when contaminant is detected on the USB port. [CHAR LIMIT=NONE] -->
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index 3fe907c3b665..3d0a3b309720 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -2094,6 +2094,8 @@
<java-symbol type="string" name="adb_active_notification_title" />
<java-symbol type="string" name="test_harness_mode_notification_title" />
<java-symbol type="string" name="test_harness_mode_notification_message" />
+ <java-symbol type="string" name="console_running_notification_title" />
+ <java-symbol type="string" name="console_running_notification_message" />
<java-symbol type="string" name="taking_remote_bugreport_notification_title" />
<java-symbol type="string" name="share_remote_bugreport_notification_title" />
<java-symbol type="string" name="sharing_remote_bugreport_notification_title" />
diff --git a/proto/src/system_messages.proto b/proto/src/system_messages.proto
index ffbf1ae38635..5d6d1c993cd3 100644
--- a/proto/src/system_messages.proto
+++ b/proto/src/system_messages.proto
@@ -230,6 +230,10 @@ message SystemMessage {
// Package: android
NOTE_TEST_HARNESS_MODE_ENABLED = 54;
+ // Inform the user that Serial Console is active.
+ // Package: android
+ NOTE_SERIAL_CONSOLE_ENABLED = 55;
+
// ADD_NEW_IDS_ABOVE_THIS_LINE
// Legacy IDs with arbitrary values appear below
// Legacy IDs existed as stable non-conflicting constants prior to the O release
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index d7a68a1015a8..c46738df1f52 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -5320,10 +5320,42 @@ public class ActivityManagerService extends IActivityManager.Stub
});
mUserController.scheduleStartProfiles();
}
+ // UART is on if init's console service is running, send a warning notification.
+ showConsoleNotificationIfActive();
t.traceEnd();
}
+ private void showConsoleNotificationIfActive() {
+ if (!SystemProperties.get("init.svc.console").equals("running")) {
+ return;
+ }
+ String title = mContext
+ .getString(com.android.internal.R.string.console_running_notification_title);
+ String message = mContext
+ .getString(com.android.internal.R.string.console_running_notification_message);
+ Notification notification =
+ new Notification.Builder(mContext, SystemNotificationChannels.DEVELOPER)
+ .setSmallIcon(com.android.internal.R.drawable.stat_sys_adb)
+ .setWhen(0)
+ .setOngoing(true)
+ .setTicker(title)
+ .setDefaults(0) // please be quiet
+ .setColor(mContext.getColor(
+ com.android.internal.R.color
+ .system_notification_accent_color))
+ .setContentTitle(title)
+ .setContentText(message)
+ .setVisibility(Notification.VISIBILITY_PUBLIC)
+ .build();
+
+ NotificationManager notificationManager =
+ mContext.getSystemService(NotificationManager.class);
+ notificationManager.notifyAsUser(
+ null, SystemMessage.NOTE_SERIAL_CONSOLE_ENABLED, notification, UserHandle.ALL);
+
+ }
+
@Override
public void bootAnimationComplete() {
final boolean callFinishBooting;