1 package be
.nikiroo
.fanfix
.reader
.android
;
3 import android
.app
.Activity
;
4 import android
.app
.FragmentTransaction
;
5 import android
.content
.Intent
;
6 import android
.os
.AsyncTask
;
7 import android
.os
.Bundle
;
8 import android
.os
.Environment
;
9 import android
.view
.View
;
10 import android
.widget
.EditText
;
13 import java
.io
.IOException
;
16 import be
.nikiroo
.fanfix
.Instance
;
17 import be
.nikiroo
.fanfix
.data
.MetaData
;
18 import be
.nikiroo
.fanfix
.reader
.BasicReader
;
19 import be
.nikiroo
.fanfix
.reader
.Reader
;
20 import be
.nikiroo
.utils
.TraceHandler
;
22 public class AndroidReaderActivity
extends Activity
implements
23 AndroidReaderBook
.OnFragmentInteractionListener
{
24 private static Reader reader
= null;
27 protected void onCreate(Bundle savedInstanceState
) {
29 super.onCreate(savedInstanceState
);
30 setContentView(R
.layout
.activity_main
);
35 public void buttonClick(View view
) {
36 AndroidReaderGroup group
= null;
38 group
= new AndroidReaderGroup();
41 FragmentTransaction trans
= getFragmentManager().beginTransaction();
42 trans
.replace(R
.id
.dropZone
, group
);
44 getFragmentManager().executePendingTransactions();
46 group
.fill(reader
, null);
49 public void onClick(View view
) {
50 new AsyncTask
<Void
, Void
, String
>() {
52 protected void onPreExecute() {
53 EditText editText
= findViewById(R
.id
.editText
);
54 editText
.setText("Downloading...");
58 protected String
doInBackground(Void
... voids
) {
60 URL
[] urls
= new URL
[] {
61 new URL("https://e621.net/pool/show/13124"),
62 new URL("https://e621.net/pool/show/13121"), };
64 for (int i
= 0; i
< urls
.length
; i
++) {
65 if (reader
.getLibrary().getList().size() <= i
) {
66 reader
.getLibrary().imprt(urls
[i
], null);
71 for (MetaData meta
: reader
.getLibrary().getList()) {
72 message
+= meta
.getTitle() + "\n";
76 } catch (Exception e
) {
77 return e
.getClass() + ": " + e
.getMessage();
82 protected void onPostExecute(String message
) {
83 EditText editText
= findViewById(R
.id
.editText
);
84 editText
.setText("testy");
86 Intent intent
= new Intent(AndroidReaderActivity
.this,
88 intent
.putExtra(SayIt
.MESSAGE
, message
);
89 startActivity(intent
);
95 public void onFragmentInteraction(MetaData meta
) {
96 AndroidReader reader
= new AndroidReader(this);
98 reader
.openExternal(Instance
.getLibrary(), meta
.getLuid());
99 } catch (IOException e
) {
104 private void config() {
105 if (reader
!= null) {
109 String internal
= getExternalFilesDir(null).toString();
110 File user
= Environment
111 .getExternalStoragePublicDirectory(Environment
.DIRECTORY_DOCUMENTS
);
114 File parent
= user
.getParentFile();
115 if (parent
.exists() || parent
.mkdirs()) {
116 File test
= new File(parent
, "test");
117 if (test
.exists() || (test
.createNewFile() && test
.delete())) {
121 } catch (Exception e
) {
122 // Fall back to Documents/Books
125 System
.setProperty("DEBUG", "1");
126 System
.setProperty("fanfix.home", internal
);
127 System
.setProperty("fanfix.libdir", new File(user
, "Books").toString());
129 Instance
.resetConfig(false);
130 Instance
.setTraceHandler(new TraceHandler(true, true, 2));
132 BasicReader
.setDefaultReaderType(Reader
.ReaderType
.ANDROID
);
133 reader
= BasicReader
.getReader();