aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Brabham <optedoblivion@cyngn.com>2015-10-12 16:41:11 -0700
committerMartin Brabham <optedoblivion@cyngn.com>2015-10-12 16:44:03 -0700
commitb284ba6fc48b1e8d152a14b8ecd98a3f263c96e2 (patch)
tree9183381af8c2ec2adce7fbf8a829de2b14db4d3e
parentd8e4b49954da90f034c744205d56958c9c122e06 (diff)
downloadandroid_packages_apps_CMFileManager-b284ba6fc48b1e8d152a14b8ecd98a3f263c96e2.tar.gz
android_packages_apps_CMFileManager-b284ba6fc48b1e8d152a14b8ecd98a3f263c96e2.tar.bz2
android_packages_apps_CMFileManager-b284ba6fc48b1e8d152a14b8ecd98a3f263c96e2.zip
Prevent NPE collecting title, which was preventing
the print action. Use Uri for title and timestamp for print title. Change-Id: Ib21006b6e47fd18622c726e9f4beea721328ad6e Ticket-Id: HAM-874
-rw-r--r--src/com/cyanogenmod/filemanager/activities/EditorActivity.java1
-rw-r--r--src/com/cyanogenmod/filemanager/ui/policy/PrintActionPolicy.java55
2 files changed, 46 insertions, 10 deletions
diff --git a/src/com/cyanogenmod/filemanager/activities/EditorActivity.java b/src/com/cyanogenmod/filemanager/activities/EditorActivity.java
index dfd90b97..6f74fcab 100644
--- a/src/com/cyanogenmod/filemanager/activities/EditorActivity.java
+++ b/src/com/cyanogenmod/filemanager/activities/EditorActivity.java
@@ -1004,6 +1004,7 @@ public class EditorActivity extends Activity implements TextWatcher {
Intent fileIntent = getIntent();
if (fileIntent.getData().getScheme().equals("content")) {
asyncReadContentURI(fileIntent.getData());
+ this.mTitle.setText(fileIntent.getDataString());
} else {
// File Scheme URI's
String path = uriToPath(this, getIntent().getData());
diff --git a/src/com/cyanogenmod/filemanager/ui/policy/PrintActionPolicy.java b/src/com/cyanogenmod/filemanager/ui/policy/PrintActionPolicy.java
index 38e44940..791d6dbe 100644
--- a/src/com/cyanogenmod/filemanager/ui/policy/PrintActionPolicy.java
+++ b/src/com/cyanogenmod/filemanager/ui/policy/PrintActionPolicy.java
@@ -271,11 +271,17 @@ public final class PrintActionPolicy extends ActionsPolicy {
int rowsPerPage = rowsPerPage(pageContentRect);
adjustLines(pageContentRect, charsPerRow);
- PrintDocumentInfo info = new PrintDocumentInfo.Builder(mDocument.getName())
+ String name = String.valueOf(System.currentTimeMillis());
+ long size = 0;
+ if (mDocument != null) {
+ name = mDocument.getName();
+ size = mDocument.getSize();
+ }
+ PrintDocumentInfo info = new PrintDocumentInfo.Builder(name)
.setContentType(PrintDocumentInfo.CONTENT_TYPE_DOCUMENT)
.setPageCount(calculatePageCount(rowsPerPage))
.build();
- info.setDataSize(mDocument.getSize());
+ info.setDataSize(size);
boolean changed = !newAttributes.equals(oldAttributes);
callback.onLayoutFinished(info, changed);
}
@@ -308,7 +314,11 @@ public final class PrintActionPolicy extends ActionsPolicy {
private void printHeader(Context ctx, Page page, Rect pageContentRect,
int charsPerRow) {
- String header = ctx.getString(R.string.print_document_header, mDocument.getName());
+ String name = String.valueOf(System.currentTimeMillis());
+ if (mDocument != null) {
+ name = mDocument.getName();
+ }
+ String header = ctx.getString(R.string.print_document_header, name);
if (header.length() >= charsPerRow) {
header = header.substring(header.length() - 3) + "...";
}
@@ -408,7 +418,11 @@ public final class PrintActionPolicy extends ActionsPolicy {
return 1;
}
};
- printManager.print(document.getName(), new DocumentAdapter(ctx, document, reader), attr);
+ String name = String.valueOf(System.currentTimeMillis());
+ if (document != null) {
+ name = document.getName();
+ }
+ printManager.print(name, new DocumentAdapter(ctx, document, reader), attr);
}
/**
@@ -451,7 +465,11 @@ public final class PrintActionPolicy extends ActionsPolicy {
return mDocumentMode;
}
};
- printManager.print(document.getName(), new DocumentAdapter(ctx, document, reader), attr);
+ String name = String.valueOf(System.currentTimeMillis());
+ if (document != null) {
+ name = document.getName();
+ }
+ printManager.print(name, new DocumentAdapter(ctx, document, reader), attr);
}
/**
@@ -467,7 +485,12 @@ public final class PrintActionPolicy extends ActionsPolicy {
.setMediaSize(mediaSize)
.setColorMode(PrintAttributes.COLOR_MODE_COLOR)
.build();
- printManager.print(document.getName(), new PrintDocumentAdapter() {
+
+ String name = String.valueOf(System.currentTimeMillis());
+ if (document != null) {
+ name = document.getName();
+ }
+ printManager.print(name, new PrintDocumentAdapter() {
@Override
public void onWrite(PageRange[] pages, ParcelFileDescriptor destination,
CancellationSignal cancellationSignal, WriteResultCallback callback) {
@@ -539,7 +562,11 @@ public final class PrintActionPolicy extends ActionsPolicy {
return;
}
- PrintDocumentInfo info = new PrintDocumentInfo.Builder(document.getName())
+ String name = String.valueOf(System.currentTimeMillis());
+ if (document != null) {
+ name = document.getName();
+ }
+ PrintDocumentInfo info = new PrintDocumentInfo.Builder(name)
.setContentType(PrintDocumentInfo.CONTENT_TYPE_DOCUMENT)
.build();
boolean changed = !newAttributes.equals(oldAttributes);
@@ -613,7 +640,12 @@ public final class PrintActionPolicy extends ActionsPolicy {
.setMediaSize(mediaSize)
.setColorMode(PrintAttributes.COLOR_MODE_COLOR)
.build();
- printManager.print(image.getName(), new PrintDocumentAdapter() {
+
+ String name = String.valueOf(System.currentTimeMillis());
+ if (image != null) {
+ name = image.getName();
+ }
+ printManager.print(name, new PrintDocumentAdapter() {
private PrintAttributes mAttributes;
@Override
@@ -667,8 +699,11 @@ public final class PrintActionPolicy extends ActionsPolicy {
return;
}
mAttributes = newAttributes;
-
- PrintDocumentInfo info = new PrintDocumentInfo.Builder(image.getName())
+ String name = String.valueOf(System.currentTimeMillis());
+ if (image != null) {
+ name = image.getName();
+ }
+ PrintDocumentInfo info = new PrintDocumentInfo.Builder(name)
.setContentType(PrintDocumentInfo.CONTENT_TYPE_PHOTO)
.setPageCount(1)
.build();