Add dark theme for Shell app.

Bugreport info dialog is used in the BugreportProgressService; services
are not themeable from the manifest file. Added themed context wrapper
in the service file.

Text view underlines are no longer black, and are white in color.

Bug: 128364209
Test: build and flash to device, manually verified the color of the dialog
Change-Id: Ia42c1c7c2b6f2e30d91a5522f1d6b3507b032cdb
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml
index e00f204..d9936d6 100644
--- a/packages/Shell/AndroidManifest.xml
+++ b/packages/Shell/AndroidManifest.xml
@@ -205,8 +205,9 @@
     <uses-permission android:name="android.permission.INTERACT_ACROSS_PROFILES"/>
 
     <application android:label="@string/app_label"
-                 android:defaultToDeviceProtectedStorage="true"
-                 android:directBootAware="true">
+                android:theme="@android:style/Theme.DeviceDefault.DayNight"
+                android:defaultToDeviceProtectedStorage="true"
+                android:directBootAware="true">
         <provider
             android:name="androidx.core.content.FileProvider"
             android:authorities="com.android.shell"
@@ -231,7 +232,6 @@
 
         <activity
             android:name=".BugreportWarningActivity"
-            android:theme="@android:style/Theme.DeviceDefault.Light.Dialog.Alert"
             android:finishOnCloseSystemDialogs="true"
             android:excludeFromRecents="true"
             android:exported="false" />
diff --git a/packages/Shell/src/com/android/shell/BugreportProgressService.java b/packages/Shell/src/com/android/shell/BugreportProgressService.java
index 1060c7b..e57a5de 100644
--- a/packages/Shell/src/com/android/shell/BugreportProgressService.java
+++ b/packages/Shell/src/com/android/shell/BugreportProgressService.java
@@ -99,6 +99,7 @@
 import android.util.Pair;
 import android.util.Patterns;
 import android.util.SparseArray;
+import android.view.ContextThemeWrapper;
 import android.view.IWindowManager;
 import android.view.View;
 import android.view.WindowManager;
@@ -1467,11 +1468,13 @@
         void initialize(final Context context, BugreportInfo info) {
             final String dialogTitle =
                     context.getString(R.string.bugreport_info_dialog_title, info.id);
+            final Context themedContext = new ContextThemeWrapper(
+                    context, com.android.internal.R.style.Theme_DeviceDefault_DayNight);
             // First initializes singleton.
             if (mDialog == null) {
                 @SuppressLint("InflateParams")
                 // It's ok pass null ViewRoot on AlertDialogs.
-                final View view = View.inflate(context, R.layout.dialog_bugreport_info, null);
+                final View view = View.inflate(themedContext, R.layout.dialog_bugreport_info, null);
 
                 mInfoName = (EditText) view.findViewById(R.id.name);
                 mInfoTitle = (EditText) view.findViewById(R.id.title);
@@ -1488,7 +1491,7 @@
                     }
                 });
 
-                mDialog = new AlertDialog.Builder(context)
+                mDialog = new AlertDialog.Builder(themedContext)
                         .setView(view)
                         .setTitle(dialogTitle)
                         .setCancelable(true)