Instance.java: code move
[fanfix.git] / src / be / nikiroo / fanfix / reader / android / AndroidReaderActivity.java
CommitLineData
64968418
NR
1package be.nikiroo.fanfix.reader.android;
2
3import android.app.Activity;
4import android.app.FragmentTransaction;
5import android.content.Intent;
6import android.os.AsyncTask;
7import android.os.Bundle;
8import android.os.Environment;
9import android.view.View;
10import android.widget.EditText;
11
12import java.io.File;
13import java.io.IOException;
14import java.net.URL;
15
16import be.nikiroo.fanfix.Instance;
17import be.nikiroo.fanfix.data.MetaData;
18import be.nikiroo.fanfix.reader.BasicReader;
19import be.nikiroo.fanfix.reader.Reader;
20import be.nikiroo.utils.TraceHandler;
21
22public class AndroidReaderActivity extends Activity implements
23 AndroidReaderBook.OnFragmentInteractionListener {
24 private static Reader reader = null;
25
26 @Override
27 protected void onCreate(Bundle savedInstanceState) {
28 config();
29 super.onCreate(savedInstanceState);
30 setContentView(R.layout.activity_main);
31 }
32
33 int i = 1;
34
35 public void buttonClick(View view) {
36 AndroidReaderGroup group = null;
37 if (group == null) {
38 group = new AndroidReaderGroup();
39 }
40
41 FragmentTransaction trans = getFragmentManager().beginTransaction();
42 trans.replace(R.id.dropZone, group);
43 trans.commit();
44 getFragmentManager().executePendingTransactions();
45
46 group.fill(reader, null);
47 }
48
49 public void onClick(View view) {
50 new AsyncTask<Void, Void, String>() {
51 @Override
52 protected void onPreExecute() {
53 EditText editText = findViewById(R.id.editText);
54 editText.setText("Downloading...");
55 }
56
57 @Override
58 protected String doInBackground(Void... voids) {
59 try {
60 URL[] urls = new URL[] {
61 new URL("https://e621.net/pool/show/13124"),
62 new URL("https://e621.net/pool/show/13121"), };
63
64 for (int i = 0; i < urls.length; i++) {
65 if (reader.getLibrary().getList().size() <= i) {
66 reader.getLibrary().imprt(urls[i], null);
67 }
68 }
69
70 String message = "";
71 for (MetaData meta : reader.getLibrary().getList()) {
72 message += meta.getTitle() + "\n";
73 }
74
75 return message;
76 } catch (Exception e) {
77 return e.getClass() + ": " + e.getMessage();
78 }
79 }
80
81 @Override
82 protected void onPostExecute(String message) {
83 EditText editText = findViewById(R.id.editText);
84 editText.setText("testy");
85
86 Intent intent = new Intent(AndroidReaderActivity.this,
87 SayIt.class);
88 intent.putExtra(SayIt.MESSAGE, message);
89 startActivity(intent);
90 }
91 }.execute();
92 }
93
94 @Override
95 public void onFragmentInteraction(MetaData meta) {
96 AndroidReader reader = new AndroidReader(this);
97 try {
98 reader.openExternal(Instance.getLibrary(), meta.getLuid());
99 } catch (IOException e) {
100 e.printStackTrace();
101 }
102 }
103
104 private void config() {
105 if (reader != null) {
106 return;
107 }
108
109 String internal = getExternalFilesDir(null).toString();
110 File user = Environment
111 .getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS);
112
113 try {
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())) {
118 user = parent;
119 }
120 }
121 } catch (Exception e) {
122 // Fall back to Documents/Books
123 }
124
125 System.setProperty("DEBUG", "1");
126 System.setProperty("fanfix.home", internal);
127 System.setProperty("fanfix.libdir", new File(user, "Books").toString());
128
129 Instance.resetConfig(false);
130 Instance.setTraceHandler(new TraceHandler(true, true, 2));
131
132 BasicReader.setDefaultReaderType(Reader.ReaderType.ANDROID);
133 reader = BasicReader.getReader();
134 }
135}