summaryrefslogtreecommitdiff
path: root/org.fox.ttcomics
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-06-09 16:56:26 +0300
committerAndrew Dolgov <[email protected]>2015-06-09 16:56:26 +0300
commit771cd4a9376535f0f675ae8340867b952c66bc71 (patch)
treebe4fe62ec5cf530d2a849056136dd7afbf3616c5 /org.fox.ttcomics
parent62371399fe70c263d2015ef00460454df1ef2bf3 (diff)
add basic stuff for downloading files through SAF
Diffstat (limited to 'org.fox.ttcomics')
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java3
-rw-r--r--org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java42
-rw-r--r--org.fox.ttcomics/src/main/res/menu/activity_main.xml8
3 files changed, 51 insertions, 2 deletions
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
index da2198d..b216ceb 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/CommonActivity.java
@@ -41,6 +41,7 @@ public class CommonActivity extends ActionBarActivity {
protected final static int REQUEST_SHARE = 1;
protected static final int REQUEST_VIEWCOMIC = 2;
+ protected static final int REQUEST_OPEN_FILE = 3;
protected SharedPreferences m_prefs;
protected SyncClient m_syncClient = new SyncClient();
@@ -312,7 +313,7 @@ public class CommonActivity extends ActionBarActivity {
public int getCachedItemCount(String baseDir) {
Cursor c = getReadableDb().query("comics_cache", new String[] { "COUNT(*)" },
"path = ?",
- new String[] { baseDir }, null, null, null);
+ new String[] {baseDir }, null, null, null);
c.moveToFirst();
int count = c.getInt(0);
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java
index bbe1f70..eeb4d5b 100644
--- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java
+++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java
@@ -6,8 +6,10 @@ import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
+import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.FragmentTransaction;
+import android.support.v4.provider.DocumentFile;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.Toolbar;
import android.util.Log;
@@ -136,6 +138,16 @@ public class MainActivity extends CommonActivity implements MaterialTabListener
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
+ case R.id.menu_open:
+ if (true) {
+ Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
+ intent.addCategory(Intent.CATEGORY_OPENABLE);
+ intent.setType("*/*");
+
+ startActivityForResult(intent, REQUEST_OPEN_FILE);
+
+ }
+ return true;
case android.R.id.home:
if (m_baseDirectory.length() > 0) {
finish();
@@ -181,8 +193,38 @@ public class MainActivity extends CommonActivity implements MaterialTabListener
}
}
+ protected void downloadRemoteFile(DocumentFile file) {
+ AlertDialog.Builder builder = new AlertDialog.Builder(this);
+ builder.setMessage("File will be cached locally. Data charges may apply.")
+ .setTitle(file.getName())
+ .setCancelable(true)
+ .setPositiveButton("Continue", new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ // launch preferences
+
+ }
+ })
+ .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
+ public void onClick(DialogInterface dialog, int id) {
+ dialog.cancel();
+ }
+ });
+ AlertDialog alert = builder.create();
+ alert.show();
+ }
+
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
+ if (requestCode == REQUEST_OPEN_FILE && resultCode == Activity.RESULT_OK) {
+ Uri docUri = intent.getData();
+ DocumentFile file = DocumentFile.fromSingleUri(this, docUri);
+
+ Log.d(TAG, "got file=" + file);
+
+ downloadRemoteFile(file);
+
+ }
+
if (requestCode == REQUEST_VIEWCOMIC && resultCode == Activity.RESULT_OK) {
String fileName = intent.getStringExtra("fileName");
Log.d(TAG, "finished viewing comic: " + fileName);
diff --git a/org.fox.ttcomics/src/main/res/menu/activity_main.xml b/org.fox.ttcomics/src/main/res/menu/activity_main.xml
index 1143a47..da28c3d 100644
--- a/org.fox.ttcomics/src/main/res/menu/activity_main.xml
+++ b/org.fox.ttcomics/src/main/res/menu/activity_main.xml
@@ -5,7 +5,13 @@
android:title="@string/menu_rescan"
android:icon="@drawable/ic_refresh"
app:showAsAction="ifRoom" /> -->
-
+
+ <item android:id="@+id/menu_open"
+ android:title="Open file"
+ android:icon="@drawable/ic_file_document_box"
+ app:showAsAction="ifRoom"
+ />
+
<item android:id="@+id/menu_settings"
android:title="@string/menu_settings"
android:icon="@drawable/ic_settings"