Loading Android.bp +16 −1 Original line number Original line Diff line number Diff line Loading @@ -45,9 +45,24 @@ filegroup { name: "DocumentsUI-srcs", name: "DocumentsUI-srcs", srcs: [ srcs: [ "src/**/*.java", "src/**/*.java", ":statslog-docsui-java-gen", ], ], } } java_library { name: "docsui-statsd", srcs: [ ":statslog-docsui-java-gen", ], } genrule { name: "statslog-docsui-java-gen", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --java $(out) --module docsui --javaPackage com.android.documentsui --javaClass DocumentsStatsLog", out: ["com/android/documentsui/DocumentsStatsLog.java"], } android_library { android_library { name: "DocumentsUI-res-lib", name: "DocumentsUI-res-lib", Loading Loading @@ -78,7 +93,7 @@ android_app { manifest: "AndroidManifest.xml", manifest: "AndroidManifest.xml", srcs: [ srcs: [ "src/**/*.java", ":DocumentsUI-srcs", ], ], resource_dirs: [ resource_dirs: [ Loading build_apk.mk +2 −1 Original line number Original line Diff line number Diff line Loading @@ -2,7 +2,8 @@ LOCAL_MODULE_TAGS := optional LOCAL_PRIVILEGED_MODULE := true LOCAL_PRIVILEGED_MODULE := true LOCAL_STATIC_JAVA_LIBRARIES += guava \ LOCAL_STATIC_JAVA_LIBRARIES += guava \ apache-commons-compress apache-commons-compress \ docsui-statsd LOCAL_STATIC_ANDROID_LIBRARIES := \ LOCAL_STATIC_ANDROID_LIBRARIES := \ androidx.legacy_legacy-support-core-ui \ androidx.legacy_legacy-support-core-ui \ Loading src/com/android/documentsui/Metrics.java +50 −30 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static android.content.ContentResolver.wrap; import static com.android.documentsui.DocumentsApplication.acquireUnstableProviderOrThrow; import static com.android.documentsui.DocumentsApplication.acquireUnstableProviderOrThrow; import androidx.annotation.Nullable; import android.content.ContentProviderClient; import android.content.ContentProviderClient; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; Loading @@ -30,9 +29,10 @@ import android.os.RemoteException; import android.provider.DocumentsContract; import android.provider.DocumentsContract; import android.provider.DocumentsContract.Path; import android.provider.DocumentsContract.Path; import android.provider.DocumentsProvider; import android.provider.DocumentsProvider; import android.util.DocumentsStatsLog; import android.util.Log; import android.util.Log; import androidx.annotation.Nullable; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.Providers; import com.android.documentsui.base.Providers; import com.android.documentsui.base.RootInfo; import com.android.documentsui.base.RootInfo; Loading Loading @@ -60,7 +60,8 @@ public final class Metrics { */ */ public static void logActivityLaunch(State state, Intent intent) { public static void logActivityLaunch(State state, Intent intent) { Uri uri = intent.getData(); Uri uri = intent.getData(); DocumentsStatsLog.logActivityLaunch(toMetricsAction(state.action), false, DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_LAUNCH_REPORTED, toMetricsAction(state.action), false, sanitizeMime(intent.getType()), sanitizeRoot(uri)); sanitizeMime(intent.getType()), sanitizeRoot(uri)); } } Loading @@ -72,7 +73,8 @@ public final class Metrics { * support {@link DocumentsProvider#findDocumentPath(String, String)} * support {@link DocumentsProvider#findDocumentPath(String, String)} */ */ public static void logLaunchAtLocation(State state, @Nullable Uri rootUri) { public static void logLaunchAtLocation(State state, @Nullable Uri rootUri) { DocumentsStatsLog.logActivityLaunch(toMetricsAction(state.action), true, DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_LAUNCH_REPORTED, toMetricsAction(state.action), true, MetricConsts.MIME_UNKNOWN, sanitizeRoot(rootUri)); MetricConsts.MIME_UNKNOWN, sanitizeRoot(rootUri)); } } Loading @@ -83,7 +85,7 @@ public final class Metrics { * @param info * @param info */ */ public static void logRootVisited(@MetricConsts.ContextScope int scope, RootInfo info) { public static void logRootVisited(@MetricConsts.ContextScope int scope, RootInfo info) { DocumentsStatsLog.logRootVisited(scope, sanitizeRoot(info)); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_ROOT_VISITED, scope, sanitizeRoot(info)); } } /** /** Loading @@ -93,7 +95,9 @@ public final class Metrics { * @param info * @param info */ */ public static void logAppVisited(ResolveInfo info) { public static void logAppVisited(ResolveInfo info) { DocumentsStatsLog.logRootVisited(MetricConsts.PICKER_SCOPE, sanitizeRoot(info)); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_ROOT_VISITED, MetricConsts.PICKER_SCOPE, sanitizeRoot(info)); } } /** /** Loading Loading @@ -128,11 +132,11 @@ public final class Metrics { @OpType int operationType, @MetricConsts.FileOpMode int approach) { @OpType int operationType, @MetricConsts.FileOpMode int approach) { switch (operationType) { switch (operationType) { case FileOperationService.OPERATION_COPY: case FileOperationService.OPERATION_COPY: DocumentsStatsLog.logFileOperationCopyMoveMode( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED, MetricConsts.FILEOP_COPY, approach); MetricConsts.FILEOP_COPY, approach); break; break; case FileOperationService.OPERATION_MOVE: case FileOperationService.OPERATION_MOVE: DocumentsStatsLog.logFileOperationCopyMoveMode( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED, MetricConsts.FILEOP_MOVE, approach); MetricConsts.FILEOP_MOVE, approach); break; break; } } Loading @@ -144,7 +148,7 @@ public final class Metrics { * logged under COUNT_FILEOP_SYSTEM. Call this when a create directory operation has completed. * logged under COUNT_FILEOP_SYSTEM. Call this when a create directory operation has completed. */ */ public static void logCreateDirOperation() { public static void logCreateDirOperation() { DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_CREATE_DIR); MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_CREATE_DIR); } } Loading @@ -154,7 +158,7 @@ public final class Metrics { * COUNT_FILEOP_SYSTEM. Call this when a rename file operation has completed. * COUNT_FILEOP_SYSTEM. Call this when a rename file operation has completed. */ */ public static void logRenameFileOperation() { public static void logRenameFileOperation() { DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_RENAME); MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_RENAME); } } Loading Loading @@ -190,10 +194,14 @@ public final class Metrics { break; break; } } if (counts.systemProvider > 0) { if (counts.systemProvider > 0) { DocumentsStatsLog.logFileOperation(MetricConsts.PROVIDER_SYSTEM, opCode); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_SYSTEM, opCode); } } if (counts.externalProvider > 0) { if (counts.externalProvider > 0) { DocumentsStatsLog.logFileOperation(MetricConsts.PROVIDER_EXTERNAL, opCode); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_EXTERNAL, opCode); } } } } Loading @@ -202,19 +210,27 @@ public final class Metrics { final String authority = docUri.getAuthority(); final String authority = docUri.getAuthority(); switch (authority) { switch (authority) { case Providers.AUTHORITY_MEDIA: case Providers.AUTHORITY_MEDIA: DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_MEDIA, subFileOp); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE, MetricConsts.AUTH_MEDIA, subFileOp); break; break; case Providers.AUTHORITY_STORAGE: case Providers.AUTHORITY_STORAGE: logStorageFileOperationFailure(context, subFileOp, docUri); logStorageFileOperationFailure(context, subFileOp, docUri); break; break; case Providers.AUTHORITY_DOWNLOADS: case Providers.AUTHORITY_DOWNLOADS: DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_DOWNLOADS, subFileOp); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE, MetricConsts.AUTH_DOWNLOADS, subFileOp); break; break; case Providers.AUTHORITY_MTP: case Providers.AUTHORITY_MTP: DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_MTP, subFileOp); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE, MetricConsts.AUTH_MTP, subFileOp); break; break; default: default: DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_OTHER, subFileOp); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE, MetricConsts.AUTH_OTHER, subFileOp); break; break; } } } } Loading @@ -225,7 +241,7 @@ public final class Metrics { * create directory operation fails. * create directory operation fails. */ */ public static void logCreateDirError() { public static void logCreateDirError() { DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_CREATE_DIR_ERROR); MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_CREATE_DIR_ERROR); } } Loading @@ -235,7 +251,7 @@ public final class Metrics { * when a rename file operation fails. * when a rename file operation fails. */ */ public static void logRenameFileError() { public static void logRenameFileError() { DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_RENAME_ERROR); MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_RENAME_ERROR); } } Loading @@ -245,7 +261,8 @@ public final class Metrics { * @param operationType * @param operationType */ */ public static void logFileOperationCancelled(@OpType int operationType) { public static void logFileOperationCancelled(@OpType int operationType) { DocumentsStatsLog.logFileOperationCanceled(toMetricsOpType(operationType)); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_FILE_OP_CANCELED, toMetricsOpType(operationType)); } } /** /** Loading @@ -254,7 +271,7 @@ public final class Metrics { * @param startupMs Startup time in milliseconds. * @param startupMs Startup time in milliseconds. */ */ public static void logStartupMs(int startupMs) { public static void logStartupMs(int startupMs) { DocumentsStatsLog.logStartupMs(startupMs); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_STARTUP_MS, startupMs); } } private static void logInterProviderFileOps( private static void logInterProviderFileOps( Loading @@ -262,12 +279,13 @@ public final class Metrics { DocumentInfo dst, DocumentInfo dst, @OpType int operationType) { @OpType int operationType) { if (operationType == FileOperationService.OPERATION_DELETE) { if (operationType == FileOperationService.OPERATION_DELETE) { DocumentsStatsLog.logFileOperation(providerType, MetricConsts.FILEOP_DELETE); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, providerType, MetricConsts.FILEOP_DELETE); } else { } else { assert(dst != null); assert(dst != null); @MetricConsts.Provider int opProviderType = isSystemProvider(dst.authority) @MetricConsts.Provider int opProviderType = isSystemProvider(dst.authority) ? MetricConsts.PROVIDER_SYSTEM : MetricConsts.PROVIDER_EXTERNAL; ? MetricConsts.PROVIDER_SYSTEM : MetricConsts.PROVIDER_EXTERNAL; DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, providerType, getOpCode(operationType, opProviderType)); providerType, getOpCode(operationType, opProviderType)); } } } } Loading @@ -275,7 +293,7 @@ public final class Metrics { private static void logIntraProviderFileOps(String authority, @OpType int operationType) { private static void logIntraProviderFileOps(String authority, @OpType int operationType) { @MetricConsts.Provider int providerType = isSystemProvider(authority) @MetricConsts.Provider int providerType = isSystemProvider(authority) ? MetricConsts.PROVIDER_SYSTEM : MetricConsts.PROVIDER_EXTERNAL; ? MetricConsts.PROVIDER_SYSTEM : MetricConsts.PROVIDER_EXTERNAL; DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, providerType, getOpCode(operationType, MetricConsts.PROVIDER_INTRA)); providerType, getOpCode(operationType, MetricConsts.PROVIDER_INTRA)); } } Loading @@ -285,24 +303,26 @@ public final class Metrics { * @param userAction * @param userAction */ */ public static void logUserAction(@MetricConsts.UserAction int userAction) { public static void logUserAction(@MetricConsts.UserAction int userAction) { DocumentsStatsLog.logUserAction(userAction); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_USER_ACTION_REPORTED, userAction); } } public static void logPickerLaunchedFrom(String packgeName) { public static void logPickerLaunchedFrom(String packgeName) { DocumentsStatsLog.logPickerLaunchedFrom(packgeName); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED, packgeName); } } public static void logSearchType(int searchType) { public static void logSearchType(int searchType) { // TODO:waiting for search history implementation, it's one of the search types. DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_SEARCH_TYPE_REPORTED, searchType); DocumentsStatsLog.logSearchType(searchType); } } public static void logSearchMode(boolean isKeywordSearch, boolean isChipsSearch) { public static void logSearchMode(boolean isKeywordSearch, boolean isChipsSearch) { DocumentsStatsLog.logSearchMode(getSearchMode(isKeywordSearch, isChipsSearch)); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_SEARCH_MODE_REPORTED, getSearchMode(isKeywordSearch, isChipsSearch)); } } public static void logPickResult(PickResult result) { public static void logPickResult(PickResult result) { DocumentsStatsLog.logFilePick( DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_PICK_RESULT_REPORTED, result.getActionCount(), result.getActionCount(), result.getDuration(), result.getDuration(), result.getFileCount(), result.getFileCount(), Loading Loading @@ -330,7 +350,7 @@ public final class Metrics { } } @MetricConsts.MetricsAuth final int authority = isInternal @MetricConsts.MetricsAuth final int authority = isInternal ? MetricConsts.AUTH_STORAGE_INTERNAL : MetricConsts.AUTH_STORAGE_EXTERNAL; ? MetricConsts.AUTH_STORAGE_INTERNAL : MetricConsts.AUTH_STORAGE_EXTERNAL; DocumentsStatsLog.logFileOperationFailure(authority, subFileOp); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE, authority, subFileOp); } } /** /** Loading src/com/android/documentsui/ScopedAccessMetrics.java +1 −3 Original line number Original line Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.documentsui; package com.android.documentsui; import android.util.DocumentsStatsLog; /** /** * Methods for logging scoped directory access metrics. * Methods for logging scoped directory access metrics. */ */ Loading @@ -25,6 +23,6 @@ public final class ScopedAccessMetrics { private static final String TAG = "ScopedAccessMetrics"; private static final String TAG = "ScopedAccessMetrics"; public static void logInvalidScopedAccessRequest(@MetricConsts.InvalidScopedAccess int type) { public static void logInvalidScopedAccessRequest(@MetricConsts.InvalidScopedAccess int type) { DocumentsStatsLog.logInvalidScopedAccessRequest(type); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST, type); } } } } Loading
Android.bp +16 −1 Original line number Original line Diff line number Diff line Loading @@ -45,9 +45,24 @@ filegroup { name: "DocumentsUI-srcs", name: "DocumentsUI-srcs", srcs: [ srcs: [ "src/**/*.java", "src/**/*.java", ":statslog-docsui-java-gen", ], ], } } java_library { name: "docsui-statsd", srcs: [ ":statslog-docsui-java-gen", ], } genrule { name: "statslog-docsui-java-gen", tools: ["stats-log-api-gen"], cmd: "$(location stats-log-api-gen) --java $(out) --module docsui --javaPackage com.android.documentsui --javaClass DocumentsStatsLog", out: ["com/android/documentsui/DocumentsStatsLog.java"], } android_library { android_library { name: "DocumentsUI-res-lib", name: "DocumentsUI-res-lib", Loading Loading @@ -78,7 +93,7 @@ android_app { manifest: "AndroidManifest.xml", manifest: "AndroidManifest.xml", srcs: [ srcs: [ "src/**/*.java", ":DocumentsUI-srcs", ], ], resource_dirs: [ resource_dirs: [ Loading
build_apk.mk +2 −1 Original line number Original line Diff line number Diff line Loading @@ -2,7 +2,8 @@ LOCAL_MODULE_TAGS := optional LOCAL_PRIVILEGED_MODULE := true LOCAL_PRIVILEGED_MODULE := true LOCAL_STATIC_JAVA_LIBRARIES += guava \ LOCAL_STATIC_JAVA_LIBRARIES += guava \ apache-commons-compress apache-commons-compress \ docsui-statsd LOCAL_STATIC_ANDROID_LIBRARIES := \ LOCAL_STATIC_ANDROID_LIBRARIES := \ androidx.legacy_legacy-support-core-ui \ androidx.legacy_legacy-support-core-ui \ Loading
src/com/android/documentsui/Metrics.java +50 −30 Original line number Original line Diff line number Diff line Loading @@ -20,7 +20,6 @@ import static android.content.ContentResolver.wrap; import static com.android.documentsui.DocumentsApplication.acquireUnstableProviderOrThrow; import static com.android.documentsui.DocumentsApplication.acquireUnstableProviderOrThrow; import androidx.annotation.Nullable; import android.content.ContentProviderClient; import android.content.ContentProviderClient; import android.content.Context; import android.content.Context; import android.content.Intent; import android.content.Intent; Loading @@ -30,9 +29,10 @@ import android.os.RemoteException; import android.provider.DocumentsContract; import android.provider.DocumentsContract; import android.provider.DocumentsContract.Path; import android.provider.DocumentsContract.Path; import android.provider.DocumentsProvider; import android.provider.DocumentsProvider; import android.util.DocumentsStatsLog; import android.util.Log; import android.util.Log; import androidx.annotation.Nullable; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.DocumentInfo; import com.android.documentsui.base.Providers; import com.android.documentsui.base.Providers; import com.android.documentsui.base.RootInfo; import com.android.documentsui.base.RootInfo; Loading Loading @@ -60,7 +60,8 @@ public final class Metrics { */ */ public static void logActivityLaunch(State state, Intent intent) { public static void logActivityLaunch(State state, Intent intent) { Uri uri = intent.getData(); Uri uri = intent.getData(); DocumentsStatsLog.logActivityLaunch(toMetricsAction(state.action), false, DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_LAUNCH_REPORTED, toMetricsAction(state.action), false, sanitizeMime(intent.getType()), sanitizeRoot(uri)); sanitizeMime(intent.getType()), sanitizeRoot(uri)); } } Loading @@ -72,7 +73,8 @@ public final class Metrics { * support {@link DocumentsProvider#findDocumentPath(String, String)} * support {@link DocumentsProvider#findDocumentPath(String, String)} */ */ public static void logLaunchAtLocation(State state, @Nullable Uri rootUri) { public static void logLaunchAtLocation(State state, @Nullable Uri rootUri) { DocumentsStatsLog.logActivityLaunch(toMetricsAction(state.action), true, DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_LAUNCH_REPORTED, toMetricsAction(state.action), true, MetricConsts.MIME_UNKNOWN, sanitizeRoot(rootUri)); MetricConsts.MIME_UNKNOWN, sanitizeRoot(rootUri)); } } Loading @@ -83,7 +85,7 @@ public final class Metrics { * @param info * @param info */ */ public static void logRootVisited(@MetricConsts.ContextScope int scope, RootInfo info) { public static void logRootVisited(@MetricConsts.ContextScope int scope, RootInfo info) { DocumentsStatsLog.logRootVisited(scope, sanitizeRoot(info)); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_ROOT_VISITED, scope, sanitizeRoot(info)); } } /** /** Loading @@ -93,7 +95,9 @@ public final class Metrics { * @param info * @param info */ */ public static void logAppVisited(ResolveInfo info) { public static void logAppVisited(ResolveInfo info) { DocumentsStatsLog.logRootVisited(MetricConsts.PICKER_SCOPE, sanitizeRoot(info)); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_ROOT_VISITED, MetricConsts.PICKER_SCOPE, sanitizeRoot(info)); } } /** /** Loading Loading @@ -128,11 +132,11 @@ public final class Metrics { @OpType int operationType, @MetricConsts.FileOpMode int approach) { @OpType int operationType, @MetricConsts.FileOpMode int approach) { switch (operationType) { switch (operationType) { case FileOperationService.OPERATION_COPY: case FileOperationService.OPERATION_COPY: DocumentsStatsLog.logFileOperationCopyMoveMode( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED, MetricConsts.FILEOP_COPY, approach); MetricConsts.FILEOP_COPY, approach); break; break; case FileOperationService.OPERATION_MOVE: case FileOperationService.OPERATION_MOVE: DocumentsStatsLog.logFileOperationCopyMoveMode( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_FILE_OP_COPY_MOVE_MODE_REPORTED, MetricConsts.FILEOP_MOVE, approach); MetricConsts.FILEOP_MOVE, approach); break; break; } } Loading @@ -144,7 +148,7 @@ public final class Metrics { * logged under COUNT_FILEOP_SYSTEM. Call this when a create directory operation has completed. * logged under COUNT_FILEOP_SYSTEM. Call this when a create directory operation has completed. */ */ public static void logCreateDirOperation() { public static void logCreateDirOperation() { DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_CREATE_DIR); MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_CREATE_DIR); } } Loading @@ -154,7 +158,7 @@ public final class Metrics { * COUNT_FILEOP_SYSTEM. Call this when a rename file operation has completed. * COUNT_FILEOP_SYSTEM. Call this when a rename file operation has completed. */ */ public static void logRenameFileOperation() { public static void logRenameFileOperation() { DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_RENAME); MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_RENAME); } } Loading Loading @@ -190,10 +194,14 @@ public final class Metrics { break; break; } } if (counts.systemProvider > 0) { if (counts.systemProvider > 0) { DocumentsStatsLog.logFileOperation(MetricConsts.PROVIDER_SYSTEM, opCode); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_SYSTEM, opCode); } } if (counts.externalProvider > 0) { if (counts.externalProvider > 0) { DocumentsStatsLog.logFileOperation(MetricConsts.PROVIDER_EXTERNAL, opCode); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_EXTERNAL, opCode); } } } } Loading @@ -202,19 +210,27 @@ public final class Metrics { final String authority = docUri.getAuthority(); final String authority = docUri.getAuthority(); switch (authority) { switch (authority) { case Providers.AUTHORITY_MEDIA: case Providers.AUTHORITY_MEDIA: DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_MEDIA, subFileOp); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE, MetricConsts.AUTH_MEDIA, subFileOp); break; break; case Providers.AUTHORITY_STORAGE: case Providers.AUTHORITY_STORAGE: logStorageFileOperationFailure(context, subFileOp, docUri); logStorageFileOperationFailure(context, subFileOp, docUri); break; break; case Providers.AUTHORITY_DOWNLOADS: case Providers.AUTHORITY_DOWNLOADS: DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_DOWNLOADS, subFileOp); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE, MetricConsts.AUTH_DOWNLOADS, subFileOp); break; break; case Providers.AUTHORITY_MTP: case Providers.AUTHORITY_MTP: DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_MTP, subFileOp); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE, MetricConsts.AUTH_MTP, subFileOp); break; break; default: default: DocumentsStatsLog.logFileOperationFailure(MetricConsts.AUTH_OTHER, subFileOp); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE, MetricConsts.AUTH_OTHER, subFileOp); break; break; } } } } Loading @@ -225,7 +241,7 @@ public final class Metrics { * create directory operation fails. * create directory operation fails. */ */ public static void logCreateDirError() { public static void logCreateDirError() { DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_CREATE_DIR_ERROR); MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_CREATE_DIR_ERROR); } } Loading @@ -235,7 +251,7 @@ public final class Metrics { * when a rename file operation fails. * when a rename file operation fails. */ */ public static void logRenameFileError() { public static void logRenameFileError() { DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_RENAME_ERROR); MetricConsts.PROVIDER_SYSTEM, MetricConsts.FILEOP_RENAME_ERROR); } } Loading @@ -245,7 +261,8 @@ public final class Metrics { * @param operationType * @param operationType */ */ public static void logFileOperationCancelled(@OpType int operationType) { public static void logFileOperationCancelled(@OpType int operationType) { DocumentsStatsLog.logFileOperationCanceled(toMetricsOpType(operationType)); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_FILE_OP_CANCELED, toMetricsOpType(operationType)); } } /** /** Loading @@ -254,7 +271,7 @@ public final class Metrics { * @param startupMs Startup time in milliseconds. * @param startupMs Startup time in milliseconds. */ */ public static void logStartupMs(int startupMs) { public static void logStartupMs(int startupMs) { DocumentsStatsLog.logStartupMs(startupMs); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_STARTUP_MS, startupMs); } } private static void logInterProviderFileOps( private static void logInterProviderFileOps( Loading @@ -262,12 +279,13 @@ public final class Metrics { DocumentInfo dst, DocumentInfo dst, @OpType int operationType) { @OpType int operationType) { if (operationType == FileOperationService.OPERATION_DELETE) { if (operationType == FileOperationService.OPERATION_DELETE) { DocumentsStatsLog.logFileOperation(providerType, MetricConsts.FILEOP_DELETE); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, providerType, MetricConsts.FILEOP_DELETE); } else { } else { assert(dst != null); assert(dst != null); @MetricConsts.Provider int opProviderType = isSystemProvider(dst.authority) @MetricConsts.Provider int opProviderType = isSystemProvider(dst.authority) ? MetricConsts.PROVIDER_SYSTEM : MetricConsts.PROVIDER_EXTERNAL; ? MetricConsts.PROVIDER_SYSTEM : MetricConsts.PROVIDER_EXTERNAL; DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, providerType, getOpCode(operationType, opProviderType)); providerType, getOpCode(operationType, opProviderType)); } } } } Loading @@ -275,7 +293,7 @@ public final class Metrics { private static void logIntraProviderFileOps(String authority, @OpType int operationType) { private static void logIntraProviderFileOps(String authority, @OpType int operationType) { @MetricConsts.Provider int providerType = isSystemProvider(authority) @MetricConsts.Provider int providerType = isSystemProvider(authority) ? MetricConsts.PROVIDER_SYSTEM : MetricConsts.PROVIDER_EXTERNAL; ? MetricConsts.PROVIDER_SYSTEM : MetricConsts.PROVIDER_EXTERNAL; DocumentsStatsLog.logFileOperation( DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_PROVIDER_FILE_OP, providerType, getOpCode(operationType, MetricConsts.PROVIDER_INTRA)); providerType, getOpCode(operationType, MetricConsts.PROVIDER_INTRA)); } } Loading @@ -285,24 +303,26 @@ public final class Metrics { * @param userAction * @param userAction */ */ public static void logUserAction(@MetricConsts.UserAction int userAction) { public static void logUserAction(@MetricConsts.UserAction int userAction) { DocumentsStatsLog.logUserAction(userAction); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_USER_ACTION_REPORTED, userAction); } } public static void logPickerLaunchedFrom(String packgeName) { public static void logPickerLaunchedFrom(String packgeName) { DocumentsStatsLog.logPickerLaunchedFrom(packgeName); DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_PICKER_LAUNCHED_FROM_REPORTED, packgeName); } } public static void logSearchType(int searchType) { public static void logSearchType(int searchType) { // TODO:waiting for search history implementation, it's one of the search types. DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_SEARCH_TYPE_REPORTED, searchType); DocumentsStatsLog.logSearchType(searchType); } } public static void logSearchMode(boolean isKeywordSearch, boolean isChipsSearch) { public static void logSearchMode(boolean isKeywordSearch, boolean isChipsSearch) { DocumentsStatsLog.logSearchMode(getSearchMode(isKeywordSearch, isChipsSearch)); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_SEARCH_MODE_REPORTED, getSearchMode(isKeywordSearch, isChipsSearch)); } } public static void logPickResult(PickResult result) { public static void logPickResult(PickResult result) { DocumentsStatsLog.logFilePick( DocumentsStatsLog.write( DocumentsStatsLog.DOCS_UI_PICK_RESULT_REPORTED, result.getActionCount(), result.getActionCount(), result.getDuration(), result.getDuration(), result.getFileCount(), result.getFileCount(), Loading Loading @@ -330,7 +350,7 @@ public final class Metrics { } } @MetricConsts.MetricsAuth final int authority = isInternal @MetricConsts.MetricsAuth final int authority = isInternal ? MetricConsts.AUTH_STORAGE_INTERNAL : MetricConsts.AUTH_STORAGE_EXTERNAL; ? MetricConsts.AUTH_STORAGE_INTERNAL : MetricConsts.AUTH_STORAGE_EXTERNAL; DocumentsStatsLog.logFileOperationFailure(authority, subFileOp); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_FILE_OP_FAILURE, authority, subFileOp); } } /** /** Loading
src/com/android/documentsui/ScopedAccessMetrics.java +1 −3 Original line number Original line Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.documentsui; package com.android.documentsui; import android.util.DocumentsStatsLog; /** /** * Methods for logging scoped directory access metrics. * Methods for logging scoped directory access metrics. */ */ Loading @@ -25,6 +23,6 @@ public final class ScopedAccessMetrics { private static final String TAG = "ScopedAccessMetrics"; private static final String TAG = "ScopedAccessMetrics"; public static void logInvalidScopedAccessRequest(@MetricConsts.InvalidScopedAccess int type) { public static void logInvalidScopedAccessRequest(@MetricConsts.InvalidScopedAccess int type) { DocumentsStatsLog.logInvalidScopedAccessRequest(type); DocumentsStatsLog.write(DocumentsStatsLog.DOCS_UI_INVALID_SCOPED_ACCESS_REQUEST, type); } } } }