ServiceInfo.java revision eb034652c2037a47ebfd99779e8383bb8bb528af
1package android.content.pm;
2
3import android.os.Parcel;
4import android.os.Parcelable;
5import android.util.Printer;
6
7/**
8 * Information you can retrieve about a particular application
9 * service. This corresponds to information collected from the
10 * AndroidManifest.xml's <service> tags.
11 */
12public class ServiceInfo extends ComponentInfo
13        implements Parcelable {
14    /**
15     * Optional name of a permission required to be able to access this
16     * Service.  From the "permission" attribute.
17     */
18    public String permission;
19
20    public ServiceInfo() {
21    }
22
23    public ServiceInfo(ServiceInfo orig) {
24        super(orig);
25        permission = orig.permission;
26    }
27
28    public void dump(Printer pw, String prefix) {
29        super.dumpFront(pw, prefix);
30        pw.println(prefix + "permission=" + permission);
31    }
32
33    public String toString() {
34        return "ServiceInfo{"
35            + Integer.toHexString(System.identityHashCode(this))
36            + " " + name + "}";
37    }
38
39    public int describeContents() {
40        return 0;
41    }
42
43    public void writeToParcel(Parcel dest, int parcelableFlags) {
44        super.writeToParcel(dest, parcelableFlags);
45        dest.writeString(permission);
46    }
47
48    public static final Creator<ServiceInfo> CREATOR =
49        new Creator<ServiceInfo>() {
50        public ServiceInfo createFromParcel(Parcel source) {
51            return new ServiceInfo(source);
52        }
53        public ServiceInfo[] newArray(int size) {
54            return new ServiceInfo[size];
55        }
56    };
57
58    private ServiceInfo(Parcel source) {
59        super(source);
60        permission = source.readString();
61    }
62}
63