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"> +