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

Commit 41576744 authored by Felipe Leme's avatar Felipe Leme Committed by android-build-merger
Browse files

Merge "Warn user when bugreport is finished but screenshot is pending." into nyc-dev

am: 01085973

* commit '01085973':
  Warn user when bugreport is finished but screenshot is pending.
parents 892a7b6c 01085973
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@
    <string name="bugreport_in_progress_title">Bug report <xliff:g id="id">#%d</xliff:g> is being generated</string>
    <!-- Title of notification indicating a bugreport has been successfully captured. [CHAR LIMIT=50] -->
    <string name="bugreport_finished_title">Bug report <xliff:g id="id">#%d</xliff:g> captured</string>
    <!-- Title of notification indicating a bugreport has been successfully captured, but screenshot is not finished yet. [CHAR LIMIT=50] -->
    <string name="bugreport_finished_pending_screenshot_title">Bug report <xliff:g id="id">#%d</xliff:g> captured but screenshot pending</string>
    <!-- Title of notification indicating a bugreport is being updated before it can be shared. [CHAR LIMIT=50] -->
    <string name="bugreport_updating_title">Adding details to the bug report</string>
    <!-- Content notification indicating a bugreport is being updated before it can be shared, asking the user to wait [CHAR LIMIT=50] -->
@@ -29,7 +31,10 @@
    <string name="bugreport_finished_text" product="watch">Swipe left to share your bug report</string>
    <!-- Text of notification indicating that tapping will share the captured bugreport. [CHAR LIMIT=100] -->
    <string name="bugreport_finished_text" product="default">Tap to share your bug report</string>

    <!-- Text of notification indicating that swipe left will share the captured bugreport, but giving user the option to wait for the screenshot. [CHAR LIMIT=100] -->
    <string name="bugreport_finished_pending_screenshot_text" product="watch">Tap to share your bug report without a screenshot or wait for the screenshot to finish</string>
    <!-- Text of notification indicating that tapping will share the captured bugreport, but giving user the option to wait for the screenshot. [CHAR LIMIT=100] -->
    <string name="bugreport_finished_pending_screenshot_text" product="default">Tap to share your bug report without a screenshot or wait for the screenshot to finish</string>

    <!-- Body of dialog informing user about contents of a bugreport. [CHAR LIMIT=NONE] -->
    <string name="bugreport_confirm">Bug reports contain data from the system\'s various log files, including personal and private information.  Only share bug reports with apps and people you trust.</string>
+17 −8
Original line number Diff line number Diff line
@@ -714,7 +714,7 @@ public class BugreportProgressService extends Service {
            if (info.finished) {
                Log.d(TAG, "Screenshot finished after bugreport; updating share notification");
                info.renameScreenshots(mScreenshotsDir);
                sendBugreportNotification(mContext, info);
                sendBugreportNotification(mContext, info, mTakingScreenshot);
            }
            msg = mContext.getString(R.string.bugreport_screenshot_taken);
        } else {
@@ -803,10 +803,10 @@ public class BugreportProgressService extends Service {
        boolean isPlainText = info.bugreportFile.getName().toLowerCase().endsWith(".txt");
        if (!isPlainText) {
            // Already zipped, send it right away.
            sendBugreportNotification(context, info);
            sendBugreportNotification(context, info, mTakingScreenshot);
        } else {
            // Asynchronously zip the file first, then send it.
            sendZippedBugreportNotification(context, info);
            sendZippedBugreportNotification(context, info, mTakingScreenshot);
        }
    }

@@ -903,7 +903,8 @@ public class BugreportProgressService extends Service {
    /**
     * Sends a notification indicating the bugreport has finished so use can share it.
     */
    private static void sendBugreportNotification(Context context, BugreportInfo info) {
    private static void sendBugreportNotification(Context context, BugreportInfo info,
            boolean takingScreenshot) {

        // Since adding the details can take a while, do it before notifying user.
        addDetailsToZipFile(context, info);
@@ -914,12 +915,20 @@ public class BugreportProgressService extends Service {
        shareIntent.putExtra(EXTRA_ID, info.id);
        shareIntent.putExtra(EXTRA_INFO, info);

        final String title = context.getString(R.string.bugreport_finished_title, info.id);
        final String title, content;
        if (takingScreenshot) {
            title = context.getString(R.string.bugreport_finished_pending_screenshot_title,
                    info.id);
            content = context.getString(R.string.bugreport_finished_pending_screenshot_text);
        } else {
            title = context.getString(R.string.bugreport_finished_title, info.id);
            content = context.getString(R.string.bugreport_finished_text);
        }
        final Notification.Builder builder = new Notification.Builder(context)
                .setSmallIcon(com.android.internal.R.drawable.stat_sys_adb)
                .setContentTitle(title)
                .setTicker(title)
                .setContentText(context.getString(R.string.bugreport_finished_text))
                .setContentText(content)
                .setContentIntent(PendingIntent.getService(context, info.id, shareIntent,
                        PendingIntent.FLAG_UPDATE_CURRENT))
                .setDeleteIntent(newCancelIntent(context, info))
@@ -958,12 +967,12 @@ public class BugreportProgressService extends Service {
     * Sends a zipped bugreport notification.
     */
    private static void sendZippedBugreportNotification(final Context context,
            final BugreportInfo info) {
            final BugreportInfo info, final boolean takingScreenshot) {
        new AsyncTask<Void, Void, Void>() {
            @Override
            protected Void doInBackground(Void... params) {
                zipBugreport(info);
                sendBugreportNotification(context, info);
                sendBugreportNotification(context, info, takingScreenshot);
                return null;
            }
        }.execute();
+18 −6
Original line number Diff line number Diff line
@@ -130,6 +130,9 @@ public class BugreportReceiverTest extends InstrumentationTestCase {
    private static final boolean RENAMED_SCREENSHOTS = true;
    private static final boolean DIDNT_RENAME_SCREENSHOTS = false;

    private static final boolean PENDING_SCREENSHOT = true;
    private static final boolean NOT_PENDING_SCREENSHOT = false;

    private String mDescription;

    private String mPlainTextPath;
@@ -409,9 +412,8 @@ public class BugreportReceiverTest extends InstrumentationTestCase {

        sendBugreportStarted(ID2, PID2, NAME2, 1000);

        Bundle extras = sendBugreportFinishedAndGetSharedIntent(ID, mZipPath, mScreenshotPath);
        assertActionSendMultiple(extras, BUGREPORT_CONTENT, SCREENSHOT_CONTENT, ID, PID, TITLE,
                NEW_NAME, TITLE, DESCRIPTION, 1, RENAMED_SCREENSHOTS);
        sendBugreportFinished(ID, mZipPath, mScreenshotPath);
        Bundle extras = acceptBugreportAndGetSharedIntent(ID, PENDING_SCREENSHOT);

        detailsUi = new DetailsUi(mUiBot, ID2);
        detailsUi.assertName(NAME2);
@@ -602,7 +604,7 @@ public class BugreportReceiverTest extends InstrumentationTestCase {
    private Bundle sendBugreportFinishedAndGetSharedIntent(int id, String bugreportPath,
            String screenshotPath) {
        sendBugreportFinished(id, bugreportPath, screenshotPath);
        return acceptBugreportAndGetSharedIntent(id);
        return acceptBugreportAndGetSharedIntent(id, NOT_PENDING_SCREENSHOT);
    }

    /**
@@ -611,7 +613,11 @@ public class BugreportReceiverTest extends InstrumentationTestCase {
     * @return extras sent in the shared intent.
     */
    private Bundle acceptBugreportAndGetSharedIntent(int id) {
        acceptBugreport(id);
        return acceptBugreportAndGetSharedIntent(id, NOT_PENDING_SCREENSHOT);
    }

    private Bundle acceptBugreportAndGetSharedIntent(int id, boolean pendingScreenshot) {
        acceptBugreport(id, pendingScreenshot);
        mUiBot.chooseActivity(UI_NAME);
        return mListener.getExtras();
    }
@@ -627,7 +633,13 @@ public class BugreportReceiverTest extends InstrumentationTestCase {
     * Accepts the notification to share the finished bugreport.
     */
    private void acceptBugreport(int id) {
        mUiBot.clickOnNotification(mContext.getString(R.string.bugreport_finished_title, id));
        acceptBugreport(id, NOT_PENDING_SCREENSHOT);
    }

    private void acceptBugreport(int id, boolean pendingScreenshot) {
        final int res = pendingScreenshot ? R.string.bugreport_finished_pending_screenshot_title
                : R.string.bugreport_finished_title;
        mUiBot.clickOnNotification(mContext.getString(res, id));
    }

    /**