diff --git a/docs-android/app/src/main/java/com/sismics/docs/activity/DocumentViewActivity.java b/docs-android/app/src/main/java/com/sismics/docs/activity/DocumentViewActivity.java
index 128fa992..bde896aa 100644
--- a/docs-android/app/src/main/java/com/sismics/docs/activity/DocumentViewActivity.java
+++ b/docs-android/app/src/main/java/com/sismics/docs/activity/DocumentViewActivity.java
@@ -44,6 +44,7 @@ import com.sismics.docs.event.DocumentEditEvent;
import com.sismics.docs.event.DocumentFullscreenEvent;
import com.sismics.docs.event.FileAddEvent;
import com.sismics.docs.event.FileDeleteEvent;
+import com.sismics.docs.fragment.DocExportPdfFragment;
import com.sismics.docs.fragment.DocShareFragment;
import com.sismics.docs.listener.JsonHttpResponseHandler;
import com.sismics.docs.model.application.ApplicationContext;
@@ -244,6 +245,16 @@ public class DocumentViewActivity extends AppCompatActivity {
}
});
+ // Action export PDF
+ button = (Button) findViewById(R.id.actionExportPdf);
+ button.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ DialogFragment dialog = DocExportPdfFragment.newInstance(DocumentViewActivity.this.document.optString("id"));
+ dialog.show(getSupportFragmentManager(), "DocExportPdfFragment");
+ }
+ });
+
// Action share
button = (Button) findViewById(R.id.actionSharing);
button.setOnClickListener(new View.OnClickListener() {
diff --git a/docs-android/app/src/main/java/com/sismics/docs/fragment/DocExportPdfFragment.java b/docs-android/app/src/main/java/com/sismics/docs/fragment/DocExportPdfFragment.java
new file mode 100644
index 00000000..0aab910e
--- /dev/null
+++ b/docs-android/app/src/main/java/com/sismics/docs/fragment/DocExportPdfFragment.java
@@ -0,0 +1,56 @@
+package com.sismics.docs.fragment;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.DialogInterface;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.support.v4.app.DialogFragment;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import com.sismics.docs.R;
+
+/**
+ * Export PDF dialog fragment.
+ *
+ * @author bgamard.
+ */
+public class DocExportPdfFragment extends DialogFragment {
+ /**
+ * Export PDF dialog fragment.
+ *
+ * @param id Document ID
+ */
+ public static DocExportPdfFragment newInstance(String id) {
+ DocExportPdfFragment fragment = new DocExportPdfFragment();
+ Bundle args = new Bundle();
+ args.putString("id", id);
+ fragment.setArguments(args);
+ return fragment;
+ }
+
+ @NonNull
+ @Override
+ public Dialog onCreateDialog(Bundle savedInstanceState) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+
+ // Setup the view
+ LayoutInflater inflater = getActivity().getLayoutInflater();
+ View view = inflater.inflate(R.layout.document_export_pdf_dialog, null);
+
+ // Build the dialog
+ builder.setView(view)
+ .setPositiveButton(R.string.download, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ getDialog().cancel();
+ }
+ })
+ .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ getDialog().cancel();
+ }
+ });
+ return builder.create();
+ }
+}
diff --git a/docs-android/app/src/main/java/com/sismics/docs/fragment/DocShareFragment.java b/docs-android/app/src/main/java/com/sismics/docs/fragment/DocShareFragment.java
index d140b5c1..0a39fa6c 100644
--- a/docs-android/app/src/main/java/com/sismics/docs/fragment/DocShareFragment.java
+++ b/docs-android/app/src/main/java/com/sismics/docs/fragment/DocShareFragment.java
@@ -44,7 +44,8 @@ public class DocShareFragment extends DialogFragment {
private JSONObject document;
/**
- * Document sharing dialog fragment
+ * Document sharing dialog fragment.
+ *
* @param id Document ID
*/
public static DocShareFragment newInstance(String id) {
diff --git a/docs-android/app/src/main/res/drawable-xhdpi/ic_description_grey600_24dp.png b/docs-android/app/src/main/res/drawable-xhdpi/ic_description_grey600_24dp.png
new file mode 100644
index 00000000..50b1541e
Binary files /dev/null and b/docs-android/app/src/main/res/drawable-xhdpi/ic_description_grey600_24dp.png differ
diff --git a/docs-android/app/src/main/res/drawable-xxhdpi/ic_description_grey600_24dp.png b/docs-android/app/src/main/res/drawable-xxhdpi/ic_description_grey600_24dp.png
new file mode 100644
index 00000000..50f854ea
Binary files /dev/null and b/docs-android/app/src/main/res/drawable-xxhdpi/ic_description_grey600_24dp.png differ
diff --git a/docs-android/app/src/main/res/layout/document_export_pdf_dialog.xml b/docs-android/app/src/main/res/layout/document_export_pdf_dialog.xml
new file mode 100644
index 00000000..2ab84d61
--- /dev/null
+++ b/docs-android/app/src/main/res/layout/document_export_pdf_dialog.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs-android/app/src/main/res/layout/document_view_activity.xml b/docs-android/app/src/main/res/layout/document_view_activity.xml
index a0609e89..e13fd81b 100644
--- a/docs-android/app/src/main/res/layout/document_view_activity.xml
+++ b/docs-android/app/src/main/res/layout/document_view_activity.xml
@@ -207,6 +207,17 @@
android:orientation="horizontal"
style="?android:buttonBarStyle">
+
+