From 2b0483393415c7fc53916e91671fd1a9f5017d1f Mon Sep 17 00:00:00 2001 From: fasooDev6 Date: Wed, 16 Dec 2015 14:35:03 +0900 Subject: [PATCH 1/3] 1. "OpenContainer" run on thread 2. Drm initialize added --- .../sdk/android/launcher/ContainerList.java | 80 ++++++++++++++----- .../sdk/android/launcher/DrmInitialize.java | 6 ++ 2 files changed, 68 insertions(+), 18 deletions(-) create mode 100644 SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java diff --git a/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java index 7d3b87e5..7cb784d2 100644 --- a/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java +++ b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java @@ -49,6 +49,8 @@ import android.app.AlertDialog; import android.content.DialogInterface; +import android.os.Handler; +import android.os.Message; /** * @author chtian * @@ -71,6 +73,8 @@ public void done() { private Context context; private final String testPath = "epubtest"; + private Handler mHandler = null; + private String mBookName; @Override protected void onCreate(Bundle savedInstanceState) { @@ -100,34 +104,58 @@ protected void onCreate(Bundle savedInstanceState) { public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) { - String bookName = list.get(arg2); + mBookName = list.get(arg2); - String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + testPath + "/" + bookName; + String path = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + testPath + "/" + mBookName; - Toast.makeText(context, "Select " + bookName, Toast.LENGTH_SHORT).show(); + Toast.makeText(context, "Select " + mBookName, Toast.LENGTH_SHORT).show(); m_SdkErrorHandler_Messages = new Stack(); EPub3.setSdkErrorHandler(ContainerList.this); - Container container = EPub3.openBook(path); - EPub3.setSdkErrorHandler(null); - - ContainerHolder.getInstance().put(container.getNativePtr(), container); - Intent intent = new Intent(getApplicationContext(), BookDataActivity.class); - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent.putExtra(Constants.BOOK_NAME, bookName); - intent.putExtra(Constants.CONTAINER_ID, container.getNativePtr()); + DrmInitialize drmInitialize = new DrmInitialize(); + drmInitialize.initialize(); - SdkErrorHandlerMessagesCompleted callback = new SdkErrorHandlerMessagesCompleted(intent) { - @Override - public void once() { - startActivity(m_intent); - } + mHandler = new Handler() { + @Override + public void handleMessage(Message msg) { + Container container = (Container)msg.obj; + if(container == null){ + //error message show + SdkErrorHandlerMessagesCompleted callback = new SdkErrorHandlerMessagesCompleted(null) { + @Override + public void once() { + //do notthing + } + }; + // async! + popSdkErrorHandlerMessage(context, callback); + } + else{ + ContainerHolder.getInstance().put(container.getNativePtr(), container); + + Intent intent = new Intent(getApplicationContext(), BookDataActivity.class); + intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent.putExtra(Constants.BOOK_NAME, mBookName); + intent.putExtra(Constants.CONTAINER_ID, container.getNativePtr()); + + SdkErrorHandlerMessagesCompleted callback = new SdkErrorHandlerMessagesCompleted(intent) { + @Override + public void once() { + startActivity(m_intent); + } + }; + + // async! + popSdkErrorHandlerMessage(context, callback); + } + } }; - // async! - popSdkErrorHandlerMessage(context, callback); + //Run on thread + OpenBookOnThread task = new OpenBookOnThread(path); + task.run(); } }); @@ -135,6 +163,22 @@ public void once() { EPub3.setCachePath(getCacheDir().getAbsolutePath()); } + class OpenBookOnThread extends Thread{ + String mPath; + OpenBookOnThread(final String path){ + mPath = path; + } + @Override + public void run() + { + EPub3.setSdkErrorHandler(null); + Container container = EPub3.openBook(mPath); + Message msg = new Message(); + msg.obj = container; + mHandler.sendMessage(msg); + } + }; + private Stack m_SdkErrorHandler_Messages = null; // async! diff --git a/SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java new file mode 100644 index 00000000..c5fa3ee5 --- /dev/null +++ b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java @@ -0,0 +1,6 @@ +package org.readium.sdk.android.launcher; + +public class DrmInitialize { + void initialize(){ + } +} From 775a4fc98c04396a5c2a4e08dd890ba62a10785f Mon Sep 17 00:00:00 2001 From: fasooDev6 Date: Fri, 18 Dec 2015 11:16:36 +0900 Subject: [PATCH 2/3] android task --- .../org/readium/sdk/android/launcher/ContainerList.java | 8 ++++---- .../org/readium/sdk/android/launcher/DrmInitialize.java | 9 ++++++++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java index 7cb784d2..50a23e65 100644 --- a/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java +++ b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java @@ -114,8 +114,6 @@ public void onItemClick(AdapterView arg0, View arg1, int arg2, EPub3.setSdkErrorHandler(ContainerList.this); - DrmInitialize drmInitialize = new DrmInitialize(); - drmInitialize.initialize(); mHandler = new Handler() { @Override @@ -155,7 +153,7 @@ public void once() { //Run on thread OpenBookOnThread task = new OpenBookOnThread(path); - task.run(); + task.start(); } }); @@ -171,8 +169,10 @@ class OpenBookOnThread extends Thread{ @Override public void run() { - EPub3.setSdkErrorHandler(null); + DrmInitialize drmInitialize = new DrmInitialize(); + drmInitialize.initialize(context); Container container = EPub3.openBook(mPath); + EPub3.setSdkErrorHandler(null); Message msg = new Message(); msg.obj = container; mHandler.sendMessage(msg); diff --git a/SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java index c5fa3ee5..9be1a851 100644 --- a/SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java +++ b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java @@ -1,6 +1,13 @@ package org.readium.sdk.android.launcher; +import org.readium.sdk.android.Credential; + +import android.content.Context; + public class DrmInitialize { - void initialize(){ + Credential credential; + void initialize(Context context){ + credential = new Credential(); + credential.initalize(context); } } From ab4bd3662c75e21949ac3b97c10dd6279a2e9492 Mon Sep 17 00:00:00 2001 From: fasooDev6 Date: Fri, 18 Dec 2015 14:37:47 +0900 Subject: [PATCH 3/3] Remove DRM test code --- .../sdk/android/launcher/ContainerList.java | 8 ++++-- .../sdk/android/launcher/DrmInitialize.java | 27 +++++++++++++++---- 2 files changed, 28 insertions(+), 7 deletions(-) diff --git a/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java index 50a23e65..57f121e1 100644 --- a/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java +++ b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/ContainerList.java @@ -169,8 +169,6 @@ class OpenBookOnThread extends Thread{ @Override public void run() { - DrmInitialize drmInitialize = new DrmInitialize(); - drmInitialize.initialize(context); Container container = EPub3.openBook(mPath); EPub3.setSdkErrorHandler(null); Message msg = new Message(); @@ -179,6 +177,12 @@ public void run() } }; + private void containerRegisterContentModules(Context context) + { + DrmInitialize drmInitialize = new DrmInitialize(); + drmInitialize.initialize(context); + } + private Stack m_SdkErrorHandler_Messages = null; // async! diff --git a/SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java index 9be1a851..ef07be2f 100644 --- a/SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java +++ b/SDKLauncher-Android/src/org/readium/sdk/android/launcher/DrmInitialize.java @@ -1,13 +1,30 @@ +// +// DrmInitialize.java +// SDKLauncher-OSX +// +// Created by Fasoo.com Development Team on 2015-12-12. +// ( M.N. Kim ) +// +// Copyright (c) 2015 The Readium Foundation and contributors. All rights reserved. +// +// The Readium SDK is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see +// package org.readium.sdk.android.launcher; -import org.readium.sdk.android.Credential; - import android.content.Context; public class DrmInitialize { - Credential credential; void initialize(Context context){ - credential = new Credential(); - credential.initalize(context); } }