18
18
public class PackageInfoProvider extends MetadataTraceProvider {
19
19
20
20
@ Nullable private String mVersionName ;
21
+ @ Nullable private String mInstaller ;
21
22
private int mVersionCode ;
22
23
private final Context mContext ;
23
24
@@ -40,13 +41,19 @@ private void resolvePackageInfo() {
40
41
PackageInfo pi ;
41
42
try {
42
43
pi = pm .getPackageInfo (mContext .getPackageName (), 0 );
44
+ mVersionName = pi .versionName ;
45
+ mVersionCode = pi .versionCode ;
43
46
} catch (PackageManager .NameNotFoundException e ) {
44
47
return ;
45
48
} catch (RuntimeException e ) {
46
49
return ;
47
50
}
48
- mVersionName = pi .versionName ;
49
- mVersionCode = pi .versionCode ;
51
+
52
+ try {
53
+ mInstaller = pm .getInstallerPackageName (mContext .getPackageName ());
54
+ } catch (RuntimeException e ) {
55
+ mInstaller = "<exception>" ;
56
+ }
50
57
}
51
58
52
59
@ Override
@@ -67,15 +74,13 @@ protected void logOnTraceEnd(TraceContext context, ExtraDataFileProvider dataFil
67
74
Identifiers .APP_VERSION_NAME ,
68
75
ProfiloConstants .NO_MATCH ,
69
76
(long ) 0 );
70
- if ("App version" != null ) {
71
- returnedMatchID =
72
- BufferLogger .writeBytesEntry (
73
- context .mainBuffer ,
74
- ProfiloConstants .NONE ,
75
- EntryType .STRING_KEY ,
76
- returnedMatchID ,
77
- "App version" );
78
- }
77
+ returnedMatchID =
78
+ BufferLogger .writeBytesEntry (
79
+ context .mainBuffer ,
80
+ ProfiloConstants .NONE ,
81
+ EntryType .STRING_KEY ,
82
+ returnedMatchID ,
83
+ "App version" );
79
84
BufferLogger .writeBytesEntry (
80
85
context .mainBuffer ,
81
86
ProfiloConstants .NONE ,
@@ -92,5 +97,29 @@ protected void logOnTraceEnd(TraceContext context, ExtraDataFileProvider dataFil
92
97
Identifiers .APP_VERSION_CODE ,
93
98
ProfiloConstants .NONE ,
94
99
(long ) mVersionCode );
100
+
101
+ returnedMatchID =
102
+ BufferLogger .writeStandardEntry (
103
+ context .mainBuffer ,
104
+ Logger .FILL_TIMESTAMP | Logger .FILL_TID ,
105
+ EntryType .TRACE_ANNOTATION ,
106
+ ProfiloConstants .NONE ,
107
+ ProfiloConstants .NONE ,
108
+ ProfiloConstants .NONE ,
109
+ ProfiloConstants .NONE ,
110
+ ProfiloConstants .NONE );
111
+ returnedMatchID =
112
+ BufferLogger .writeBytesEntry (
113
+ context .mainBuffer ,
114
+ ProfiloConstants .NONE ,
115
+ EntryType .STRING_KEY ,
116
+ returnedMatchID ,
117
+ "Installer" );
118
+ BufferLogger .writeBytesEntry (
119
+ context .mainBuffer ,
120
+ ProfiloConstants .NONE ,
121
+ EntryType .STRING_VALUE ,
122
+ returnedMatchID ,
123
+ mInstaller != null ? mInstaller : "null" );
95
124
}
96
125
}
0 commit comments