blob: 06e6b10f3b4846147029a42f5cb3e8ca4d3bf3e5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.print;
import android.os.Parcel;
import android.os.Parcelable;
/**
* This class encapsulates information about a {@link PrintAdapter} object.
*/
public final class PrintAdapterInfo implements Parcelable {
/**
* Constant for unknown page count.
*/
public static final int PAGE_COUNT_UNKNOWN = -1;
private int mPageCount;
private int mFlags;
/**
* Creates a new instance.
*/
private PrintAdapterInfo() {
/* do nothing */
}
/**
* Creates a new instance.
*
* @param parcel Data from which to initialize.
*/
private PrintAdapterInfo(Parcel parcel) {
mPageCount = parcel.readInt();
mFlags = parcel.readInt();
}
/**
* Gets the total number of pages.
*
* @return The number of pages.
*/
public int getPageCount() {
return mPageCount;
}
/**
* @return The flags of this printable info.
*
* @see #FLAG_NOTIFY_FOR_ATTRIBUTES_CHANGE
*/
public int getFlags() {
return mFlags;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int flags) {
parcel.writeInt(mPageCount);
parcel.writeInt(mFlags);
}
/**
* Builder for creating an {@link PrintAdapterInfo}.
*/
public static final class Builder {
private final PrintAdapterInfo mPrintableInfo = new PrintAdapterInfo();
/**
* Sets the total number of pages.
*
* @param pageCount The number of pages. Must be
* greater than zero.
*/
public Builder setPageCount(int pageCount) {
if (pageCount < 0) {
throw new IllegalArgumentException("pageCount"
+ " must be greater than or euqal to zero!");
}
mPrintableInfo.mPageCount = pageCount;
return this;
}
/**
* Sets the flags of this printable info.
*
* @param flags The flags.
*
* @see #FLAG_NOTIFY_FOR_ATTRIBUTES_CHANGE
*/
public Builder setFlags(int flags) {
mPrintableInfo.mFlags = flags;
return this;
}
/**
* Creates a new {@link PrintAdapterInfo} instance.
*
* @return The new instance.
*/
public PrintAdapterInfo create() {
return mPrintableInfo;
}
}
public static final Parcelable.Creator<PrintAdapterInfo> CREATOR =
new Creator<PrintAdapterInfo>() {
@Override
public PrintAdapterInfo createFromParcel(Parcel parcel) {
return new PrintAdapterInfo(parcel);
}
@Override
public PrintAdapterInfo[] newArray(int size) {
return new PrintAdapterInfo[size];
}
};
}
|