115a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root/* 215a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Copyright (C) 2007 The Android Open Source Project 315a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 415a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Licensed under the Apache License, Version 2.0 (the "License"); 515a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * you may not use this file except in compliance with the License. 615a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * You may obtain a copy of the License at 715a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 815a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * http://www.apache.org/licenses/LICENSE-2.0 915a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * 1015a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * Unless required by applicable law or agreed to in writing, software 1115a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * distributed under the License is distributed on an "AS IS" BASIS, 1215a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1315a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * See the License for the specific language governing permissions and 1415a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root * limitations under the License. 1515a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root */ 1615a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root 17a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapupackage android.content.pm; 18a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu 19a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapuimport android.os.Parcel; 20a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapuimport android.os.Parcelable; 21a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu 22a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu/** 23a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu * Basic information about a package as specified in its manifest. 24a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu * Utility class used in PackageManager methods 25a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu * @hide 26a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu */ 27a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapupublic class PackageInfoLite implements Parcelable { 28a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu /** 29a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu * The name of this package. From the <manifest> tag's "name" 30a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu * attribute. 31a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu */ 32a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu public String packageName; 33a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu 34a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu /** 35a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu * Specifies the recommended install location. Can be one of 36a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu * {@link #PackageHelper.RECOMMEND_INSTALL_INTERNAL} to install on internal storage 37a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu * {@link #PackageHelper.RECOMMEND_INSTALL_EXTERNAL} to install on external media 38a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu * {@link PackageHelper.RECOMMEND_FAILED_INSUFFICIENT_STORAGE} for storage errors 39a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu * {@link PackageHelper.RECOMMEND_FAILED_INVALID_APK} for parse errors. 40a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu */ 41a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu public int recommendedInstallLocation; 42a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu public int installLocation; 43a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu 44a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu public PackageInfoLite() { 45a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu } 46a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu 47a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu public String toString() { 48a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu return "PackageInfoLite{" 49a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu + Integer.toHexString(System.identityHashCode(this)) 50a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu + " " + packageName + "}"; 51a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu } 52a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu 53a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu public int describeContents() { 54a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu return 0; 55a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu } 56a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu 57a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu public void writeToParcel(Parcel dest, int parcelableFlags) { 58a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu dest.writeString(packageName); 59a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu dest.writeInt(recommendedInstallLocation); 60a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu dest.writeInt(installLocation); 61a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu } 62a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu 63a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu public static final Parcelable.Creator<PackageInfoLite> CREATOR 64a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu = new Parcelable.Creator<PackageInfoLite>() { 65a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu public PackageInfoLite createFromParcel(Parcel source) { 66a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu return new PackageInfoLite(source); 67a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu } 68a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu 69a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu public PackageInfoLite[] newArray(int size) { 70a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu return new PackageInfoLite[size]; 71a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu } 72a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu }; 73a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu 74a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu private PackageInfoLite(Parcel source) { 75a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu packageName = source.readString(); 76a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu recommendedInstallLocation = source.readInt(); 77a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu installLocation = source.readInt(); 78a2b6c3775ed6b8924232d6a01bae4a19740a15f8Suchi Amalapurapu } 7915a4d2ffd04dc6c70f2cd17dae12ac6bc14c69abKenny Root} 80