Add usage of PrintHelper to PrintApp.
Change-Id: I45026e008df317b7128a1d6fee709a58e7b8580c
diff --git a/PrintApp/Android.mk b/PrintApp/Android.mk
index 5e1c4fa..81ab231 100644
--- a/PrintApp/Android.mk
+++ b/PrintApp/Android.mk
@@ -6,6 +6,8 @@
LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PACKAGE_NAME := Print
+LOCAL_PACKAGE_NAME := PrintApp
+
+LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4
include $(BUILD_PACKAGE)
diff --git a/PrintApp/AndroidManifest.xml b/PrintApp/AndroidManifest.xml
index 1442178..38cf86c 100644
--- a/PrintApp/AndroidManifest.xml
+++ b/PrintApp/AndroidManifest.xml
@@ -1,11 +1,5 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="foo.bar.print"
- android:versionCode="1"
- android:versionName="1.0" >
-
- <uses-sdk
- android:minSdkVersion="19"
- android:targetSdkVersion="19" />
+ package="foo.bar.print" >
<application
android:icon="@drawable/ic_launcher"
diff --git a/PrintApp/res/menu/activity_main.xml b/PrintApp/res/menu/activity_main.xml
index 060c09a..08d043d 100644
--- a/PrintApp/res/menu/activity_main.xml
+++ b/PrintApp/res/menu/activity_main.xml
@@ -3,4 +3,16 @@
android:title="@string/print"
android:orderInCategory="100"
android:showAsAction="never" />
+ <item android:id="@+id/menu_print_uri_portrait_force"
+ android:title="@string/print_uri_portrait_force"
+ android:orderInCategory="101"
+ android:showAsAction="never" />
+ <item android:id="@+id/menu_print_uri_portrait"
+ android:title="@string/print_uri_portrait"
+ android:orderInCategory="102"
+ android:showAsAction="never" />
+ <item android:id="@+id/menu_print_uri_landscape"
+ android:title="@string/print_uri_landscape"
+ android:orderInCategory="103"
+ android:showAsAction="never" />
</menu>
diff --git a/PrintApp/res/raw/landscape.png b/PrintApp/res/raw/landscape.png
new file mode 100644
index 0000000..c3978f9
--- /dev/null
+++ b/PrintApp/res/raw/landscape.png
Binary files differ
diff --git a/PrintApp/res/raw/portrait.png b/PrintApp/res/raw/portrait.png
new file mode 100644
index 0000000..657a012
--- /dev/null
+++ b/PrintApp/res/raw/portrait.png
Binary files differ
diff --git a/PrintApp/res/values/strings.xml b/PrintApp/res/values/strings.xml
index 352494a..f7de66d 100644
--- a/PrintApp/res/values/strings.xml
+++ b/PrintApp/res/values/strings.xml
@@ -1,9 +1,12 @@
<resources>
- <string name="app_name">Print</string>
+ <string name="app_name">Print App</string>
<string name="menu_settings">Settings</string>
<string name="title_activity_main">MainActivity</string>
<string name="print">Print</string>
+ <string name="print_uri_portrait_force">Print Uri Portrait (force)</string>
+ <string name="print_uri_portrait">Print Uri Portrait</string>
+ <string name="print_uri_landscape">Print Uri Landscape</string>
<string name="name">Name</string>
<string name="enter_name">Enter your name</string>
<string name="done">Done</string>
diff --git a/PrintApp/src/foo/bar/permission2/PrintActivity.java b/PrintApp/src/foo/bar/permission2/PrintActivity.java
index 34bec6f..314e57c 100644
--- a/PrintApp/src/foo/bar/permission2/PrintActivity.java
+++ b/PrintApp/src/foo/bar/permission2/PrintActivity.java
@@ -44,6 +44,8 @@
import android.view.MenuItem;
import android.view.View;
+import foo.bar.print.R;
+
/**
* Simple sample of how to use the print APIs.
*/
diff --git a/PrintApp/src/foo/bar/print/PrintActivity.java b/PrintApp/src/foo/bar/print/PrintActivity.java
index 03c3b89..9676128 100644
--- a/PrintApp/src/foo/bar/print/PrintActivity.java
+++ b/PrintApp/src/foo/bar/print/PrintActivity.java
@@ -16,6 +16,7 @@
package foo.bar.print;
+import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
@@ -24,6 +25,7 @@
import android.app.Activity;
import android.content.Context;
import android.graphics.pdf.PdfDocument.Page;
+import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.CancellationSignal;
@@ -35,6 +37,7 @@
import android.print.PrintDocumentInfo;
import android.print.PrintManager;
import android.print.pdf.PrintedPdfDocument;
+import android.support.v4.print.PrintHelper;
import android.util.SparseIntArray;
import android.view.Menu;
import android.view.MenuItem;
@@ -64,11 +67,36 @@
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == R.id.menu_print) {
- printView();
- return true;
+ switch (item.getItemId()) {
+ case R.id.menu_print:
+ printView();
+ return true;
+ case R.id.menu_print_uri_portrait_force:
+ case R.id.menu_print_uri_portrait:
+ case R.id.menu_print_uri_landscape:
+ try {
+ PrintHelper ph = new PrintHelper(this);
+ Uri uri = null;
+ switch (item.getItemId()) {
+ case R.id.menu_print_uri_portrait_force:
+ ph.setOrientation(PrintHelper.ORIENTATION_PORTRAIT);
+ /* fall through */
+ case R.id.menu_print_uri_portrait:
+ uri = Uri.parse("android.resource://foo.bar.print/raw/portrait");
+ break;
+ case R.id.menu_print_uri_landscape:
+ uri = Uri.parse("android.resource://foo.bar.print/raw/landscape");
+ break;
+ }
+
+ ph.printBitmap("Print Uri", uri);
+ } catch (FileNotFoundException e) {
+ e.printStackTrace();
+ }
+ return true;
+ default:
+ return super.onOptionsItemSelected(item);
}
- return super.onOptionsItemSelected(item);
}
private void printView() {