From 62969344d617c34c1dae2ed26f73018a097be4ce Mon Sep 17 00:00:00 2001 From: Owen Lin Date: Tue, 27 Sep 2011 20:14:34 +0800 Subject: [PATCH] Add maskDebugInfo to display info for debugging build only. bug: 5335366 Change-Id: I5b6de536bb8e9439b61eb3778fbb1801c8e898c8 --- gallerycommon/src/com/android/gallery3d/common/Utils.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/gallerycommon/src/com/android/gallery3d/common/Utils.java b/gallerycommon/src/com/android/gallery3d/common/Utils.java index 78449ae6b..ea289a628 100644 --- a/gallerycommon/src/com/android/gallery3d/common/Utils.java +++ b/gallerycommon/src/com/android/gallery3d/common/Utils.java @@ -42,6 +42,11 @@ public class Utils { private static long[] sCrcTable = new long[256]; + private static final boolean IS_DEBUG_BUILD = + Build.TYPE.equals("eng") || Build.TYPE.equals("userdebug"); + + private static final String MASK_STRING = "********************************"; + // Throws AssertionError if the input is false. public static void assertTrue(boolean cond) { if (!cond) { @@ -402,4 +407,14 @@ public class Utils { if (parcel != null) parcel.recycle(); } } + + // Mask information for debugging only. It returns info.toString() directly + // for debugging build (i.e., 'eng' and 'userdebug') and returns a mask ("****") + // in release build to protect the information (e.g. for privacy issue). + public static String maskDebugInfo(Object info) { + if (info == null) return null; + String s = info.toString(); + int length = Math.min(s.length(), MASK_STRING.length()); + return IS_DEBUG_BUILD ? s : MASK_STRING.substring(0, length); + } } -- 2.11.0