Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3dad958c authored by Robin Lee's avatar Robin Lee Committed by Automerger Merge Worker
Browse files

Merge "Take interactive bugreports on Android TV" into rvc-dev am: 1d22ea4e...

Merge "Take interactive bugreports on Android TV" into rvc-dev am: 1d22ea4e am: ddf65460 am: a08021a9

Change-Id: Ic661caeaba3dda9e90193c80b00e259aa08b7963
parents 7f769775 a08021a9
Loading
Loading
Loading
Loading
+6 −4
Original line number Original line Diff line number Diff line
@@ -613,7 +613,7 @@ public class BugreportProgressService extends Service {
            return;
            return;
        }
        }
        ParcelFileDescriptor screenshotFd = null;
        ParcelFileDescriptor screenshotFd = null;
        if (isDefaultScreenshotRequired(bugreportType)) {
        if (isDefaultScreenshotRequired(bugreportType, /* hasScreenshotButton= */ !mIsTv)) {
            screenshotFd = info.getDefaultScreenshotFd();
            screenshotFd = info.getDefaultScreenshotFd();
            if (screenshotFd == null) {
            if (screenshotFd == null) {
                Log.e(TAG, "Failed to start bugreport generation as"
                Log.e(TAG, "Failed to start bugreport generation as"
@@ -651,10 +651,12 @@ public class BugreportProgressService extends Service {
    }
    }


    private static boolean isDefaultScreenshotRequired(
    private static boolean isDefaultScreenshotRequired(
            @BugreportParams.BugreportMode int bugreportType) {
            @BugreportParams.BugreportMode int bugreportType,
            boolean hasScreenshotButton) {
        // Modify dumpstate#SetOptionsFromMode as well for default system screenshots.
        // Modify dumpstate#SetOptionsFromMode as well for default system screenshots.
        // We override dumpstate for interactive bugreports.
        // We override dumpstate for interactive bugreports with a screenshot button.
        return bugreportType == BugreportParams.BUGREPORT_MODE_FULL
        return (bugreportType == BugreportParams.BUGREPORT_MODE_INTERACTIVE && !hasScreenshotButton)
                || bugreportType == BugreportParams.BUGREPORT_MODE_FULL
                || bugreportType == BugreportParams.BUGREPORT_MODE_WEAR;
                || bugreportType == BugreportParams.BUGREPORT_MODE_WEAR;
    }
    }


+3 −3
Original line number Original line Diff line number Diff line
@@ -693,7 +693,7 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                    accessibilityShortcutActivated();
                    accessibilityShortcutActivated();
                    break;
                    break;
                case MSG_BUGREPORT_TV:
                case MSG_BUGREPORT_TV:
                    requestFullBugreportOrLaunchHandlerApp();
                    requestBugreportForTv();
                    break;
                    break;
                case MSG_ACCESSIBILITY_TV:
                case MSG_ACCESSIBILITY_TV:
                    if (mAccessibilityShortcutController.isAccessibilityShortcutAvailable(false)) {
                    if (mAccessibilityShortcutController.isAccessibilityShortcutAvailable(false)) {
@@ -3037,13 +3037,13 @@ public class PhoneWindowManager implements WindowManagerPolicy {
        return mAccessibilityTvScheduled;
        return mAccessibilityTvScheduled;
    }
    }


    private void requestFullBugreportOrLaunchHandlerApp() {
    private void requestBugreportForTv() {
        if ("1".equals(SystemProperties.get("ro.debuggable"))
        if ("1".equals(SystemProperties.get("ro.debuggable"))
                || Settings.Global.getInt(mContext.getContentResolver(),
                || Settings.Global.getInt(mContext.getContentResolver(),
                        Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) == 1) {
                        Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0) == 1) {
            try {
            try {
                if (!ActivityManager.getService().launchBugReportHandlerApp()) {
                if (!ActivityManager.getService().launchBugReportHandlerApp()) {
                    ActivityManager.getService().requestFullBugReport();
                    ActivityManager.getService().requestInteractiveBugReport();
                }
                }
            } catch (RemoteException e) {
            } catch (RemoteException e) {
                Slog.e(TAG, "Error taking bugreport", e);
                Slog.e(TAG, "Error taking bugreport", e);