Revert "Add ability to select OPML export folder"

This commit is contained in:
Tom Hennen 2015-03-03 17:58:56 -05:00
parent 06ad19972a
commit 39ac96f401
5 changed files with 30 additions and 91 deletions

View File

@ -5,6 +5,7 @@ import android.app.AlertDialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.Environment;
import android.os.FileObserver; import android.os.FileObserver;
import android.support.v4.app.NavUtils; import android.support.v4.app.NavUtils;
import android.support.v7.app.ActionBarActivity; import android.support.v7.app.ActionBarActivity;
@ -14,24 +15,17 @@ import android.view.MenuInflater;
import android.view.MenuItem; import android.view.MenuItem;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener; import android.view.View.OnClickListener;
import android.widget.AdapterView; import android.widget.*;
import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter; import de.danoeh.antennapod.BuildConfig;
import android.widget.Button; import de.danoeh.antennapod.R;
import android.widget.ImageButton; import de.danoeh.antennapod.core.preferences.UserPreferences;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections; import java.util.Collections;
import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.preferences.UserPreferences;
/** /**
* Let's the user choose a directory on the storage device. The selected folder * Let's the user choose a directory on the storage device. The selected folder
* will be sent back to the starting activity as an activity result. * will be sent back to the starting activity as an activity result.
@ -43,7 +37,6 @@ public class DirectoryChooserActivity extends ActionBarActivity {
public static final String RESULT_SELECTED_DIR = "selected_dir"; public static final String RESULT_SELECTED_DIR = "selected_dir";
public static final int RESULT_CODE_DIR_SELECTED = 1; public static final int RESULT_CODE_DIR_SELECTED = 1;
public static final String NON_EMPTY_DIRECTORY_WARNING = "warn_non_empty_directory";
private Button butConfirm; private Button butConfirm;
private Button butCancel; private Button butCancel;
@ -59,8 +52,6 @@ public class DirectoryChooserActivity extends ActionBarActivity {
private FileObserver fileObserver; private FileObserver fileObserver;
private boolean warnNonEmptyDirectory = false;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
setTheme(UserPreferences.getTheme()); setTheme(UserPreferences.getTheme());
@ -74,18 +65,15 @@ public class DirectoryChooserActivity extends ActionBarActivity {
txtvSelectedFolder = (TextView) findViewById(R.id.txtvSelectedFolder); txtvSelectedFolder = (TextView) findViewById(R.id.txtvSelectedFolder);
listDirectories = (ListView) findViewById(R.id.directory_list); listDirectories = (ListView) findViewById(R.id.directory_list);
if(getIntent().getExtras() != null) {
warnNonEmptyDirectory = getIntent().getExtras().getBoolean(NON_EMPTY_DIRECTORY_WARNING, false);
}
butConfirm.setOnClickListener(new OnClickListener() { butConfirm.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
if (isValidFile(selectedDir)) { if (isValidFile(selectedDir)) {
if(warnNonEmptyDirectory && selectedDir.list().length > 0) { if (selectedDir.list().length == 0) {
showNonEmptyDirectoryWarning();
} else {
returnSelectedFolder(); returnSelectedFolder();
} else {
showNonEmptyDirectoryWarning();
} }
} }
} }
@ -157,7 +145,7 @@ public class DirectoryChooserActivity extends ActionBarActivity {
listDirectoriesAdapter = new ArrayAdapter<String>(this, listDirectoriesAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, filenames); android.R.layout.simple_list_item_1, filenames);
listDirectories.setAdapter(listDirectoriesAdapter); listDirectories.setAdapter(listDirectoriesAdapter);
changeDirectory(UserPreferences.getDataFolder(this, null)); changeDirectory(Environment.getExternalStorageDirectory());
} }
/** /**

View File

@ -2,7 +2,6 @@ package de.danoeh.antennapod.activity;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.content.DialogInterface; import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.util.Log; import android.util.Log;
import android.view.Menu; import android.view.Menu;
@ -12,26 +11,20 @@ import android.view.View.OnClickListener;
import android.widget.Button; import android.widget.Button;
import android.widget.TextView; import android.widget.TextView;
import android.widget.Toast; import android.widget.Toast;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.Reader;
import de.danoeh.antennapod.BuildConfig; import de.danoeh.antennapod.BuildConfig;
import de.danoeh.antennapod.R; import de.danoeh.antennapod.R;
import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.preferences.UserPreferences;
import de.danoeh.antennapod.core.util.LangUtils; import de.danoeh.antennapod.core.util.LangUtils;
import de.danoeh.antennapod.core.util.StorageUtils; import de.danoeh.antennapod.core.util.StorageUtils;
import java.io.*;
/** /**
* Lets the user start the OPML-import process from a path * Lets the user start the OPML-import process from a path
*/ */
public class OpmlImportFromPathActivity extends OpmlImportBaseActivity { public class OpmlImportFromPathActivity extends OpmlImportBaseActivity {
private static final String TAG = "OpmlImportFromPathActivity"; private static final String TAG = "OpmlImportFromPathActivity";
private TextView txtvPath; private TextView txtvPath;
private Button butChoose;
private Button butStart; private Button butStart;
private String importPath; private String importPath;
@ -43,20 +36,9 @@ public class OpmlImportFromPathActivity extends OpmlImportBaseActivity {
getSupportActionBar().setDisplayHomeAsUpEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true);
setContentView(R.layout.opml_import); setContentView(R.layout.opml_import);
butChoose = (Button)findViewById(R.id.butChoosePath);
txtvPath = (TextView) findViewById(R.id.txtvPath); txtvPath = (TextView) findViewById(R.id.txtvPath);
butStart = (Button) findViewById(R.id.butStartImport); butStart = (Button) findViewById(R.id.butStartImport);
butChoose.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
startActivityForResult(
new Intent(OpmlImportFromPathActivity.this,
DirectoryChooserActivity.class),
DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED
);
}
});
butStart.setOnClickListener(new OnClickListener() { butStart.setOnClickListener(new OnClickListener() {
@Override @Override
public void onClick(View v) { public void onClick(View v) {
@ -64,13 +46,13 @@ public class OpmlImportFromPathActivity extends OpmlImportBaseActivity {
} }
}); });
setImportPath();
} }
@Override @Override
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
StorageUtils.checkStorageAvailability(this); StorageUtils.checkStorageAvailability(this);
setImportPath();
} }
/** /**
@ -185,18 +167,5 @@ public class OpmlImportFromPathActivity extends OpmlImportBaseActivity {
dialog.create().show(); dialog.create().show();
} }
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Log.d(TAG, "activity result: " + requestCode + " " + resultCode);
if (requestCode == DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED) {
if (resultCode == DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED) {
String dir = data
.getStringExtra(DirectoryChooserActivity.RESULT_SELECTED_DIR);
Log.d(TAG, dir);
txtvPath.setText(dir);
importPath = dir.toString();
}
}
}
} }

View File

@ -24,10 +24,10 @@ import de.danoeh.antennapod.core.util.LangUtils;
*/ */
public class OpmlExportWorker extends AsyncTask<Void, Void, Void> { public class OpmlExportWorker extends AsyncTask<Void, Void, Void> {
private static final String TAG = "OpmlExportWorker"; private static final String TAG = "OpmlExportWorker";
public static final String DEFAULT_OUTPUT_NAME = "antennapod-feeds.opml"; private static final String DEFAULT_OUTPUT_NAME = "antennapod-feeds.opml";
public static final String EXPORT_DIR = "export/"; public static final String EXPORT_DIR = "export/";
private final Context context; private Context context;
private File output; private File output;
private ProgressDialog progDialog; private ProgressDialog progDialog;

View File

@ -61,8 +61,6 @@ public class PreferenceController {
public static final String PREF_EXPANDED_NOTIFICATION = "prefExpandNotify"; public static final String PREF_EXPANDED_NOTIFICATION = "prefExpandNotify";
private static final String PREF_PERSISTENT_NOTIFICATION = "prefPersistNotify"; private static final String PREF_PERSISTENT_NOTIFICATION = "prefPersistNotify";
private static final int REQUEST_CHOOSE_DATA_DIR = 1;
private static final int REQUEST_CHOOSE_OMPL_EXPORT_DIR = 2;
private final PreferenceUI ui; private final PreferenceUI ui;
@ -152,12 +150,9 @@ public class PreferenceController {
@Override @Override
public boolean onPreferenceClick(Preference preference) { public boolean onPreferenceClick(Preference preference) {
Intent intent = new Intent(activity, new OpmlExportWorker(activity)
DirectoryChooserActivity.class); .executeAsync();
intent.putExtra(DirectoryChooserActivity.NON_EMPTY_DIRECTORY_WARNING, false);
activity.startActivityForResult(intent,
REQUEST_CHOOSE_OMPL_EXPORT_DIR
);
return true; return true;
} }
} }
@ -168,11 +163,10 @@ public class PreferenceController {
@Override @Override
public boolean onPreferenceClick(Preference preference) { public boolean onPreferenceClick(Preference preference) {
Intent intent = new Intent(activity, activity.startActivityForResult(
DirectoryChooserActivity.class); new Intent(activity,
intent.putExtra(DirectoryChooserActivity.NON_EMPTY_DIRECTORY_WARNING, true); DirectoryChooserActivity.class),
activity.startActivityForResult(intent, DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED
REQUEST_CHOOSE_DATA_DIR
); );
return true; return true;
} }
@ -317,18 +311,9 @@ public class PreferenceController {
if (resultCode == DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED) { if (resultCode == DirectoryChooserActivity.RESULT_CODE_DIR_SELECTED) {
String dir = data String dir = data
.getStringExtra(DirectoryChooserActivity.RESULT_SELECTED_DIR); .getStringExtra(DirectoryChooserActivity.RESULT_SELECTED_DIR);
switch(requestCode) {
case REQUEST_CHOOSE_DATA_DIR:
if (BuildConfig.DEBUG) if (BuildConfig.DEBUG)
Log.d(TAG, "Setting data folder"); Log.d(TAG, "Setting data folder");
UserPreferences.setDataFolder(dir); UserPreferences.setDataFolder(dir);
break;
case REQUEST_CHOOSE_OMPL_EXPORT_DIR:
File path = new File(dir, OpmlExportWorker.DEFAULT_OUTPUT_NAME);
new OpmlExportWorker(ui.getActivity(), path)
.executeAsync();
break;
}
} }
} }

View File

@ -4,16 +4,14 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:orientation="vertical" android:orientation="vertical"
android:gravity="center"
tools:background="@android:color/darker_gray"> tools:background="@android:color/darker_gray">
<Button <TextView
android:id="@+id/butChoosePath" android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="8dp" android:layout_margin="8dp"
android:text="@string/choose_data_directory" /> android:text="@string/opml_import_explanation"
tools:background="@android:color/holo_green_dark" />
<TextView <TextView
android:id="@+id/txtvPath" android:id="@+id/txtvPath"
@ -21,8 +19,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_margin="8dp" android:layout_margin="8dp"
tools:text="Path" tools:text="Path"
tools:background="@android:color/holo_green_dark" tools:background="@android:color/holo_green_dark" />
android:gravity="center"/>
<Button <Button
android:id="@+id/butStartImport" android:id="@+id/butStartImport"