1818
1919import android .os .Parcel ;
2020import android .os .Parcelable ;
21+ import android .os .UserHandle ;
2122
2223/**
2324 * implementation of PackageStats associated with a
@@ -27,6 +28,9 @@ public class PackageStats implements Parcelable {
2728 /** Name of the package to which this stats applies. */
2829 public String packageName ;
2930
31+ /** @hide */
32+ public int userHandle ;
33+
3034 /** Size of the code (e.g., APK) */
3135 public long codeSize ;
3236
@@ -78,33 +82,58 @@ public PackageStats[] newArray(int size) {
7882 public String toString () {
7983 final StringBuilder sb = new StringBuilder ("PackageStats{" );
8084 sb .append (Integer .toHexString (System .identityHashCode (this )));
81- sb .append (" packageName= " );
85+ sb .append (" " );
8286 sb .append (packageName );
83- sb .append (",codeSize=" );
84- sb .append (codeSize );
85- sb .append (",dataSize=" );
86- sb .append (dataSize );
87- sb .append (",cacheSize=" );
88- sb .append (cacheSize );
89- sb .append (",externalCodeSize=" );
90- sb .append (externalCodeSize );
91- sb .append (",externalDataSize=" );
92- sb .append (externalDataSize );
93- sb .append (",externalCacheSize=" );
94- sb .append (externalCacheSize );
95- sb .append (",externalMediaSize=" );
96- sb .append (externalMediaSize );
97- sb .append (",externalObbSize=" );
98- sb .append (externalObbSize );
87+ if (codeSize != 0 ) {
88+ sb .append (" code=" );
89+ sb .append (codeSize );
90+ }
91+ if (dataSize != 0 ) {
92+ sb .append (" data=" );
93+ sb .append (dataSize );
94+ }
95+ if (cacheSize != 0 ) {
96+ sb .append (" cache=" );
97+ sb .append (cacheSize );
98+ }
99+ if (externalCodeSize != 0 ) {
100+ sb .append (" extCode=" );
101+ sb .append (externalCodeSize );
102+ }
103+ if (externalDataSize != 0 ) {
104+ sb .append (" extData=" );
105+ sb .append (externalDataSize );
106+ }
107+ if (externalCacheSize != 0 ) {
108+ sb .append (" extCache=" );
109+ sb .append (externalCacheSize );
110+ }
111+ if (externalMediaSize != 0 ) {
112+ sb .append (" media=" );
113+ sb .append (externalMediaSize );
114+ }
115+ if (externalObbSize != 0 ) {
116+ sb .append (" obb=" );
117+ sb .append (externalObbSize );
118+ }
119+ sb .append ("}" );
99120 return sb .toString ();
100121 }
101122
102123 public PackageStats (String pkgName ) {
103124 packageName = pkgName ;
125+ userHandle = UserHandle .myUserId ();
126+ }
127+
128+ /** @hide */
129+ public PackageStats (String pkgName , int userHandle ) {
130+ this .packageName = pkgName ;
131+ this .userHandle = userHandle ;
104132 }
105133
106134 public PackageStats (Parcel source ) {
107135 packageName = source .readString ();
136+ userHandle = source .readInt ();
108137 codeSize = source .readLong ();
109138 dataSize = source .readLong ();
110139 cacheSize = source .readLong ();
@@ -117,6 +146,7 @@ public PackageStats(Parcel source) {
117146
118147 public PackageStats (PackageStats pStats ) {
119148 packageName = pStats .packageName ;
149+ userHandle = pStats .userHandle ;
120150 codeSize = pStats .codeSize ;
121151 dataSize = pStats .dataSize ;
122152 cacheSize = pStats .cacheSize ;
@@ -133,6 +163,7 @@ public int describeContents() {
133163
134164 public void writeToParcel (Parcel dest , int parcelableFlags ){
135165 dest .writeString (packageName );
166+ dest .writeInt (userHandle );
136167 dest .writeLong (codeSize );
137168 dest .writeLong (dataSize );
138169 dest .writeLong (cacheSize );
0 commit comments