From 2d5f4509c6b115c3648983cb09158a8ae94ab3b4 Mon Sep 17 00:00:00 2001 From: Cyril Lee Date: Fri, 10 Jun 2022 16:47:42 +0000 Subject: [PATCH] Offer the bugreport button in debug mode Provide the dogfood user easy to report SUW issues Proposal slide: https://docs.google.com/presentation/d/1ujEP0to_y3YJa2Wpxl5wUfUuR_PeLoxCkAVish3w6yQ/ Design doc: https://docs.google.com/document/d/1DeKZPnY0jHRxUqGC0A79VLwKvXXFpvV0i71RsUZcYgM/ Bug: 235901029 Test: Manual test on phone Change-Id: Ic2c0ee92ef84546eeedbaa429486f14089722f35 --- .../globalactions/GlobalActionsDialogLite.java | 4 +++- .../globalactions/GlobalActionsDialogLiteTest.java | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java index acb080a2eaaab..b1185b4d8e846 100644 --- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java +++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialogLite.java @@ -54,6 +54,7 @@ import android.graphics.Color; import android.graphics.drawable.Drawable; import android.media.AudioManager; import android.os.Binder; +import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.IBinder; @@ -1038,7 +1039,8 @@ public class GlobalActionsDialogLite implements DialogInterface.OnDismissListene @Override public boolean showBeforeProvisioning() { - return false; + return Build.isDebuggable() && mGlobalSettings.getInt( + Settings.Global.BUGREPORT_IN_POWER_MENU, 0) != 0; } } diff --git a/packages/SystemUI/tests/src/com/android/systemui/globalactions/GlobalActionsDialogLiteTest.java b/packages/SystemUI/tests/src/com/android/systemui/globalactions/GlobalActionsDialogLiteTest.java index f00fbe6ac4d7b..141a213a5b6a7 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/globalactions/GlobalActionsDialogLiteTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/globalactions/GlobalActionsDialogLiteTest.java @@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.anyString; import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; @@ -480,4 +481,13 @@ public class GlobalActionsDialogLiteTest extends SysuiTestCase { // hide dialog again mGlobalActionsDialogLite.showOrHideDialog(true, true, null /* view */); } + + @Test + public void testBugreportAction_whenDebugMode_shouldOfferBugreportButtonBeforeProvisioning() { + doReturn(1).when(mGlobalSettings).getInt(anyString(), anyInt()); + + GlobalActionsDialogLite.BugReportAction bugReportAction = + mGlobalActionsDialogLite.makeBugReportActionForTesting(); + assertThat(bugReportAction.showBeforeProvisioning()).isTrue(); + } }