package com.jadn.cc.ui;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.text.InputType;
import android.util.Xml;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.jadn.cc.R;
import com.jadn.cc.core.Subscription;
import org.xmlpull.v1.XmlPullParser;
import java.io.File;
import java.io.InputStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class OpmlLocator extends BaseActivity implements Runnable {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.opml_locator);
final EditText pathEditText = (EditText) findViewById(R.id.path);
final Button button = (Button) findViewById(R.id.import_oiml_button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
button.setEnabled(false);
pathEditText.setEnabled(false);
pathEditText.setInputType(InputType.TYPE_NULL);
try {
String text = pathEditText.getText().toString();
if (!text.startsWith("/")){
if (!text.startsWith("http://") ||
!text.startsWith("https://") ){
text = "http://"+text;
pathEditText.setText(text);
}
} else {
File file = new File(text);
if (!file.exists()) {
sorry("That file does not exist.");
} else if (!file.canRead()) {
sorry("That file cannot be read.");
}else{
Intent intent = new Intent(getApplicationContext(), OpmlImport.class);
intent.setData(Uri.fromFile(file));
startActivity(intent);
}
}
} catch(Throwable t){
sorry(t.getMessage());
}
}
});
}
private void sorry(String message) {
final EditText pathEditText = (EditText) findViewById(R.id.path);
final Button button = (Button) findViewById(R.id.import_oiml_button);
button.setEnabled(true);
pathEditText.setEnabled(true);
pathEditText.setInputType(InputType.TYPE_CLASS_TEXT);
Toast.makeText(getApplicationContext(), "SORRY!\n\n"+message, Toast.LENGTH_LONG).show();
}
@Override
public void run() {
final EditText pathEditText = (EditText) findViewById(R.id.path);
String text = pathEditText.getText().toString();
try {
Intent intent = new Intent(getApplicationContext(), OpmlImport.class);
intent.setData(Uri.parse(text));
startActivity(intent);
} catch(Throwable t){
// on UI thread?
sorry(t.getMessage());
}
}
}