Merge "Move channel logging to dump method and redact name."

This commit is contained in:
Aaron Heuckroth
2018-07-10 18:05:34 +00:00
committed by Android (Google) Code Review
4 changed files with 54 additions and 3 deletions

View File

@@ -38,6 +38,7 @@ import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlSerializer;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
/**
@@ -942,6 +943,32 @@ public final class NotificationChannel implements Parcelable {
return result;
}
/** @hide */
public void dump(PrintWriter pw, String prefix, boolean redacted) {
String redactedName = redacted ? TextUtils.trimToLengthWithEllipsis(mName, 3) : mName;
String output = "NotificationChannel{"
+ "mId='" + mId + '\''
+ ", mName=" + redactedName
+ ", mDescription=" + (!TextUtils.isEmpty(mDesc) ? "hasDescription " : "")
+ ", mImportance=" + mImportance
+ ", mBypassDnd=" + mBypassDnd
+ ", mLockscreenVisibility=" + mLockscreenVisibility
+ ", mSound=" + mSound
+ ", mLights=" + mLights
+ ", mLightColor=" + mLightColor
+ ", mVibration=" + Arrays.toString(mVibration)
+ ", mUserLockedFields=" + Integer.toHexString(mUserLockedFields)
+ ", mFgServiceShown=" + mFgServiceShown
+ ", mVibrationEnabled=" + mVibrationEnabled
+ ", mShowBadge=" + mShowBadge
+ ", mDeleted=" + mDeleted
+ ", mGroup='" + mGroup + '\''
+ ", mAudioAttributes=" + mAudioAttributes
+ ", mBlockableSystem=" + mBlockableSystem
+ '}';
pw.println(prefix + output);
}
@Override
public String toString() {
return "NotificationChannel{"

View File

@@ -2091,6 +2091,25 @@ public class TextUtils {
return (T) text.subSequence(0, size);
}
/**
* Trims the {@code text} to the first {@code size} characters and adds an ellipsis if the
* resulting string is shorter than the input. This will result in an output string which is
* longer than {@code size} for most inputs.
*
* @param size length of the result, should be greater than 0
*
* @hide
*/
@Nullable
public static <T extends CharSequence> T trimToLengthWithEllipsis(@Nullable T text,
@IntRange(from = 1) int size) {
T trimmed = trimToSize(text, size);
if (trimmed.length() < text.length()) {
trimmed = (T) (trimmed.toString() + "...");
}
return trimmed;
}
private static Object sLock = new Object();
private static char[] sTemp = null;

View File

@@ -785,4 +785,11 @@ public class TextUtilsTest {
assertEquals(2, TextUtils.length(" "));
assertEquals(6, TextUtils.length("Hello!"));
}
@Test
public void testTrimToLengthWithEllipsis() {
assertEquals("ABC...", TextUtils.trimToLengthWithEllipsis("ABCDEF", 3));
assertEquals("ABC", TextUtils.trimToLengthWithEllipsis("ABC", 3));
assertEquals("", TextUtils.trimToLengthWithEllipsis("", 3));
}
}

View File

@@ -1173,9 +1173,7 @@ public class RankingHelper implements RankingConfig {
pw.println();
for (NotificationChannel channel : r.channels.values()) {
pw.print(prefix);
pw.print(" ");
pw.print(" ");
pw.println(channel);
channel.dump(pw, " ", filter.redact);
}
for (NotificationChannelGroup group : r.groups.values()) {
pw.print(prefix);