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

Commit bd6dc57a authored by TreeHugger Robot's avatar TreeHugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Include the Subreason, if any, in ApplicationExitInfo.getDescription()."

parents 0f5324ba 248862fd
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -734,7 +734,22 @@ public final class ApplicationExitInfo implements Parcelable {
     * guarantees that the format is stable across devices or Android releases.</p>
     */
    public @Nullable String getDescription() {
        return mDescription;
        final StringBuilder sb = new StringBuilder();

        if (mSubReason != SUBREASON_UNKNOWN) {
            sb.append("[");
            sb.append(subreasonToString(mSubReason));
            sb.append("]");
        }

        if (!TextUtils.isEmpty(mDescription)) {
            if (sb.length() > 0) {
                sb.append(" ");
            }
            sb.append(mDescription);
        }

        return sb.toString();
    }

    /**
+28 −19
Original line number Diff line number Diff line
@@ -711,8 +711,6 @@ public class ApplicationExitInfoTest {
                null);                                // description

        // Case 8: App1 gets "remove task"
        final String app1Description = "remove task";

        sleep(1);
        final int app1IsolatedUidUser2 = 1099002; // isolated uid
        final long app1Pss4 = 34343;
@@ -739,7 +737,7 @@ public class ApplicationExitInfoTest {

        mAppExitInfoTracker.mIsolatedUidRecords.addIsolatedUid(app1IsolatedUidUser2, app1UidUser2);
        noteAppKill(app, ApplicationExitInfo.REASON_OTHER,
                ApplicationExitInfo.SUBREASON_UNKNOWN, app1Description, now8);
                ApplicationExitInfo.SUBREASON_REMOVE_TASK, null, now8);

        updateExitInfo(app, now8);
        list.clear();
@@ -758,12 +756,12 @@ public class ApplicationExitInfoTest {
                app1ProcessName,                            // processName
                0,                                          // connectionGroup
                ApplicationExitInfo.REASON_OTHER,           // reason
                ApplicationExitInfo.SUBREASON_UNKNOWN,    // subReason
                ApplicationExitInfo.SUBREASON_REMOVE_TASK,  // subReason
                0,                                          // status
                app1Pss4,                                   // pss
                app1Rss4,                                   // rss
                IMPORTANCE_CACHED,                          // importance
                app1Description);                         // description
                null);                                      // description

        // App1 gets "too many empty"
        final String app1Description2 = "too many empty";
@@ -1058,7 +1056,18 @@ public class ApplicationExitInfoTest {
        if (importance != null) {
            assertEquals(importance.intValue(), info.getImportance());
        }
        if (description != null) {

        // info.getDescription returns a combination of subReason & description
        if ((subReason != null) && (subReason != ApplicationExitInfo.SUBREASON_UNKNOWN)
                && (description != null)) {
            assertTrue(TextUtils.equals(
                    "[" + info.subreasonToString(subReason) + "] " + description,
                    info.getDescription()));
        } else if ((subReason != null) && (subReason != ApplicationExitInfo.SUBREASON_UNKNOWN)) {
            assertTrue(TextUtils.equals(
                    "[" + info.subreasonToString(subReason) + "]",
                    info.getDescription()));
        } else if (description != null) {
            assertTrue(TextUtils.equals(description, info.getDescription()));
        }
    }