diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 5a124a717de2f..e04d10c181fa6 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -697,7 +697,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { accessibilityShortcutActivated(); break; case MSG_BUGREPORT_TV: - requestFullBugreport(); + requestFullBugreportOrLaunchHandlerApp(); break; case MSG_ACCESSIBILITY_TV: if (mAccessibilityShortcutController.isAccessibilityShortcutAvailable(false)) { @@ -3061,12 +3061,14 @@ public class PhoneWindowManager implements WindowManagerPolicy { return mAccessibilityTvScheduled; } - private void requestFullBugreport() { + private void requestFullBugreportOrLaunchHandlerApp() { if ("1".equals(SystemProperties.get("ro.debuggable")) || Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) == 1) { try { - ActivityManager.getService().requestFullBugReport(); + if (!ActivityManager.getService().launchBugReportHandlerApp()) { + ActivityManager.getService().requestFullBugReport(); + } } catch (RemoteException e) { Slog.e(TAG, "Error taking bugreport", e); }