1. In my previous change I fixed a typo in the Java constant with
intent action to launch the print dialog but failed to updated
the print spooler manifest.
2. Removed dead code - the user id is no longer needed since the
spooler is an app that runs per user. Every user has its spooler.
This code was not referenced from anywhere.
3. Added a default icon to the print spooler.
4. Fixed a bug where if the print history is empty the UI goes
to the all pritners activity.
bug:
11059554
Change-Id: If74c23b418a8c67620ba14435ee7f3b2c4527099
/** The id of the app that created the job. */
private int mAppId;
- /** The id of the user that created the job. */
- private int mUserId;
-
/** Optional tag assigned by a print service.*/
private String mTag;
mPrinterName = other.mPrinterName;
mState = other.mState;
mAppId = other.mAppId;
- mUserId = other.mUserId;
mTag = other.mTag;
mCreationTime = other.mCreationTime;
mCopies = other.mCopies;
mPrinterName = parcel.readString();
mState = parcel.readInt();
mAppId = parcel.readInt();
- mUserId = parcel.readInt();
mTag = parcel.readString();
mCreationTime = parcel.readLong();
mCopies = parcel.readInt();
}
/**
- * Gets the owning user id.
- *
- * @return The user id.
- *
- * @hide
- */
- public int getUserId() {
- return mUserId;
- }
-
- /**
- * Sets the owning user id.
- *
- * @param userId The user id.
- *
- * @hide
- */
- public void setUserId(int userId) {
- mUserId = userId;
- }
-
- /**
* Gets the optional tag assigned by a print service.
*
* @return The tag.
parcel.writeString(mPrinterName);
parcel.writeInt(mState);
parcel.writeInt(mAppId);
- parcel.writeInt(mUserId);
parcel.writeString(mTag);
parcel.writeLong(mCreationTime);
parcel.writeInt(mCopies);
android:allowClearUserData="true"
android:label="@string/app_label"
android:allowBackup= "false"
- android:supportsRtl="true">
+ android:supportsRtl="true"
+ android:icon="@*android:drawable/ic_print">
<service
android:name=".PrintSpoolerService"
android:permission="android.permission.BIND_PRINT_SPOOLER_SERVICE"
android:theme="@style/PrintJobConfigActivityTheme">
<intent-filter>
- <action android:name="android.print.PRINT_DILAOG" />
+ <action android:name="android.print.PRINT_DIALOG" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="printjob" android:pathPattern="*" />
</intent-filter>
import libcore.io.IoUtils;
-import libcore.io.IoUtils;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
@Override
public int getCount() {
- final int additionalItemCount = (mFakePdfPrinter != null) ? 2 : 1;
- return Math.min(mPrinters.size() + additionalItemCount,
- DEST_ADAPTER_MAX_ITEM_COUNT);
+ if (mFakePdfPrinter == null) {
+ return 0;
+ }
+ return Math.min(mPrinters.size() + 2, DEST_ADAPTER_MAX_ITEM_COUNT);
}
@Override
@Override
public long getItemId(int position) {
if (mPrinters.isEmpty()) {
- if (position == 0) {
- if (mFakePdfPrinter != null) {
+ if (mFakePdfPrinter != null) {
+ if (position == 0) {
return DEST_ADAPTER_ITEM_ID_SAVE_AS_PDF;
- } else {
+ } else if (position == 1) {
return DEST_ADAPTER_ITEM_ID_ALL_PRINTERS;
}
- } else if (position == 1) {
- return DEST_ADAPTER_ITEM_ID_ALL_PRINTERS;
}
} else {
if (position == 1 && mFakePdfPrinter != null) {
private static final String ATTR_PACKAGE_NAME = "packageName";
private static final String ATTR_STATE = "state";
private static final String ATTR_APP_ID = "appId";
- private static final String ATTR_USER_ID = "userId";
private static final String ATTR_TAG = "tag";
private static final String ATTR_CREATION_TIME = "creationTime";
private static final String ATTR_COPIES = "copies";
serializer.attribute(null, ATTR_LABEL, printJob.getLabel().toString());
serializer.attribute(null, ATTR_STATE, String.valueOf(printJob.getState()));
serializer.attribute(null, ATTR_APP_ID, String.valueOf(printJob.getAppId()));
- serializer.attribute(null, ATTR_USER_ID, String.valueOf(printJob.getUserId()));
String tag = printJob.getTag();
if (tag != null) {
serializer.attribute(null, ATTR_TAG, tag);
printJob.setState(state);
final int appId = Integer.parseInt(parser.getAttributeValue(null, ATTR_APP_ID));
printJob.setAppId(appId);
- final int userId = Integer.parseInt(parser.getAttributeValue(null, ATTR_USER_ID));
- printJob.setUserId(userId);
String tag = parser.getAttributeValue(null, ATTR_TAG);
printJob.setTag(tag);
String creationTime = parser.getAttributeValue(null, ATTR_CREATION_TIME);