diff options
Diffstat (limited to 'platform/android/src/com/artifex/mupdfdemo/MuPDFCancellableTaskDefinition.java')
-rw-r--r-- | platform/android/src/com/artifex/mupdfdemo/MuPDFCancellableTaskDefinition.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/platform/android/src/com/artifex/mupdfdemo/MuPDFCancellableTaskDefinition.java b/platform/android/src/com/artifex/mupdfdemo/MuPDFCancellableTaskDefinition.java new file mode 100644 index 00000000..b95d8e93 --- /dev/null +++ b/platform/android/src/com/artifex/mupdfdemo/MuPDFCancellableTaskDefinition.java @@ -0,0 +1,38 @@ +package com.artifex.mupdfdemo; + +public abstract class MuPDFCancellableTaskDefinition<Params, Result> implements CancellableTaskDefinition<Params, Result> +{ + private MuPDFCore.Cookie cookie; + + public MuPDFCancellableTaskDefinition(MuPDFCore core) + { + this.cookie = core.new Cookie(); + } + + @Override + public void doCancel() + { + if (cookie == null) + return; + + cookie.abort(); + } + + @Override + public void doCleanup() + { + if (cookie == null) + return; + + cookie.destroy(); + cookie = null; + } + + @Override + public final Result doInBackground(Params ... params) + { + return doInBackground(cookie, params); + } + + public abstract Result doInBackground(MuPDFCore.Cookie cookie, Params ... params); +} |