File tree Expand file tree Collapse file tree 5 files changed +28
-16
lines changed
OCEBook/app/src/main/java/com/devgrapher/ocebook Expand file tree Collapse file tree 5 files changed +28
-16
lines changed Original file line number Diff line number Diff line change @@ -119,7 +119,7 @@ public ReadiumContext.PageEventListener createPageEventListener() {
119119
120120 @ Override
121121 public void onReaderInitialized () {
122- getActivity (). runOnUiThread (() -> {
122+ runOnUiThread (() -> {
123123 final Package pckg = mReadiumCtx .getPackage ();
124124 if (pckg .getSpineItems ().size () > 0 ) {
125125 SpineItem item = pckg .getSpineItems ().get (0 );
@@ -144,7 +144,7 @@ public void onPaginationChanged(PaginationInfo currentPagesInfo) {
144144 if (openPages .isEmpty ())
145145 return ;
146146
147- getActivity (). runOnUiThread (() -> {
147+ runOnUiThread (() -> {
148148 final Page page = openPages .get (0 );
149149
150150 int totalSpine = currentPagesInfo .getSpineItemCount ();
Original file line number Diff line number Diff line change @@ -126,6 +126,15 @@ private boolean PrepareBook() {
126126 @ Override
127127 protected void onDestroy () {
128128 super .onDestroy ();
129+
130+ if (isFinishing ()) {
131+ if (mContainer != null ) {
132+ ObjectHolder .getInstance ().removeContainer (mContainer .getNativePtr ());
133+ EPub3 .closeBook (mContainer );
134+ sContainerId = 0 ;
135+ mContainer = null ;
136+ }
137+ }
129138 }
130139
131140 @ Override
@@ -136,13 +145,6 @@ public void onBackPressed() {
136145 } else {
137146 super .onBackPressed ();
138147 }
139-
140- if (mContainer != null ) {
141- ObjectHolder .getInstance ().removeContainer (mContainer .getNativePtr ());
142- EPub3 .closeBook (mContainer );
143- sContainerId = 0 ;
144- mContainer = null ;
145- }
146148 }
147149
148150 @ Override
Original file line number Diff line number Diff line change @@ -219,19 +219,29 @@ public void onDetach() {
219219 }
220220
221221 @ Override
222- public void onDestroy () {
223- super .onDestroy ();
224-
222+ public void onDestroyView () {
225223 if (mReadiumCtx != null ) {
224+ ObjectHolder .getInstance ().removeContext (mReadiumCtx .getId ());
226225 mReadiumCtx .dispose ();
227226 }
227+ super .onDestroyView ();
228+ }
229+
230+ @ Override
231+ public void onDestroy () {
232+ super .onDestroy ();
233+
228234 ((ViewGroup ) mWebView .getParent ()).removeView (mWebView );
229235 mWebView .removeAllViews ();
230236 mWebView .clearCache (true );
231237 mWebView .clearHistory ();
232238 mWebView .destroy ();
239+ }
233240
234- ObjectHolder .getInstance ().removeContext (mReadiumCtx .getId ());
241+ public void runOnUiThread (Runnable action ) {
242+ if (getActivity () != null ) {
243+ getActivity ().runOnUiThread (action );
244+ }
235245 }
236246
237247 /**
@@ -294,7 +304,7 @@ public ReadiumContext.PageEventListener createPageEventListener() {
294304
295305 @ Override
296306 public void onReaderInitialized () {
297- getActivity (). runOnUiThread (() -> {
307+ runOnUiThread (() -> {
298308 final Package pckg = mReadiumCtx .getPackage ();
299309
300310 // Get last open page number.
@@ -324,7 +334,7 @@ public void onPaginationChanged(PaginationInfo currentPagesInfo) {
324334 if (openPages .isEmpty ())
325335 return ;
326336
327- getActivity (). runOnUiThread (() -> {
337+ runOnUiThread (() -> {
328338 final Package pckg = mReadiumCtx .getPackage ();
329339 final Page page = openPages .get (0 );
330340
Original file line number Diff line number Diff line change @@ -90,7 +90,6 @@ public void loadJS(String javascript) {
9090 }
9191
9292 public void dispose () {
93- mWebViewDelegate .loadUrl (READER_SKELETON );
9493 sWebServer .reset ();
9594 }
9695
Original file line number Diff line number Diff line change @@ -45,5 +45,6 @@ public void start(Package pckg) {
4545
4646 public void reset () {
4747 mWebServer .stop ();
48+ Laz .yLog (TAG , "Stop Server" );
4849 }
4950}
You can’t perform that action at this time.
0 commit comments