private static void logIntent(int intentType, Intent intent, int callerUid, String resolvedType) { // The component shouldn't be null, but let's double check just to be safe ComponentName cn = intent.getComponent(); String shortComponent = null; if (cn != null) { shortComponent = cn.flattenToShortString(); } String callerPackages = null; int callerPackageCount = 0; IPackageManager pm = AppGlobals.getPackageManager(); if (pm != null) { try { String[] callerPackagesArray = pm.getPackagesForUid(callerUid); if (callerPackagesArray != null) { callerPackageCount = callerPackagesArray.length; callerPackages = joinPackages(callerPackagesArray); } } catch (RemoteException ex) { Slog.e(TAG, "Remote exception while retrieving packages", ex); } } EventLogTags.writeIfwIntentMatched( intentType, shortComponent, callerUid, callerPackageCount, callerPackages, intent.getAction(), resolvedType, intent.getDataString(), intent.getFlags()); }