From b9a4f0f1e0f44a068707c7d9a440aa4b67063eba Mon Sep 17 00:00:00 2001 From: jendib Date: Thu, 14 Jan 2016 00:19:31 +0100 Subject: [PATCH] #55: Android: Export PDF dialog --- .../docs/activity/DocumentViewActivity.java | 11 ++++ .../docs/fragment/DocExportPdfFragment.java | 56 ++++++++++++++++++ .../docs/fragment/DocShareFragment.java | 3 +- .../ic_description_grey600_24dp.png | Bin 0 -> 353 bytes .../ic_description_grey600_24dp.png | Bin 0 -> 461 bytes .../res/layout/document_export_pdf_dialog.xml | 30 ++++++++++ .../res/layout/document_view_activity.xml | 11 ++++ .../app/src/main/res/values/strings.xml | 2 + 8 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 docs-android/app/src/main/java/com/sismics/docs/fragment/DocExportPdfFragment.java create mode 100644 docs-android/app/src/main/res/drawable-xhdpi/ic_description_grey600_24dp.png create mode 100644 docs-android/app/src/main/res/drawable-xxhdpi/ic_description_grey600_24dp.png create mode 100644 docs-android/app/src/main/res/layout/document_export_pdf_dialog.xml 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 0000000000000000000000000000000000000000..50b1541e7d65a873f8c206d922e705d38917c04f GIT binary patch literal 353 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}a}tg=CK)Uj~LMH3o);76yi2K%s^g z3=E|}g|8AA7_4S6Fo+k-*%fF5lweBoc6VX;-`;;_Kaj^+;1OBOz`!jG!i)^F=12eq zZ+f~ohD02Gd&63Y(NTcyK|P1)QPmZD8>hr9nB&U1cEVxeSViOXY1G>x#*?=R||u3j-hM#i8~7X%xyas`0Ms5#U%8z?yYYsXw+tNd1&gr zqIZJ;~td>gTe~DWM4fdkc5g literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..50f854ea5a07043f9e947b65c2e0f804c20d3f1c GIT binary patch literal 461 zcmV;;0W$uHP)004R> z004l5008;`004mK004C`008P>0026e000+ooVrmw00002VoOIv0RM-N%)bBt010qN zS#tmY3ljhU3ljkVnw%H_00BiwL_t(&-tF2wN<&c)#qs}Bhz}9$1yS4B7z@QUxCHG5 z1q&g)F2G6~>#QN9wGu&v6mG!A+D;L_YLy$AxtW(db7ldDAH%s*-J;ESO(Bp#lLcz9 z$1Y9gjHxFaM}QXSvgXWnlhU9D*R(Qr?N!mU^$PJ2E8-o0+C0G0A-P4KpCVcked_-a*`rJE>bMWL5c>MN%0^fsS1#Z zR1L^LstWX*R9HbD1HwI^pQJGWeJ51}%BBk>kU#>}4`gM24hv)q5=fx>f=2f21rlgt zK)OQ$38XtDkU(_-y)YBVd1lrMx??>Mbi;-fbi`>O=#VojsN|N_AWol6UacTlq!&W! zv(00&>jS@9li^zT4lo3xiPaL!4n00000NkvXXu0mjf DC$OxD literal 0 HcmV?d00001 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"> +