summaryrefslogtreecommitdiff
path: root/src/eu/deki
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2012-12-28 03:31:03 +0100
committerReiner Herrmann <reiner@reiner-h.de>2012-12-28 03:31:03 +0100
commit58a3c87671c2b3af270d5db876a047e906c2b556 (patch)
tree40098fdd4cabe72247f60e811c20d99c798834c9 /src/eu/deki
parent8a2d76c4903687b3f9199c125c2e945b9285d1a3 (diff)
get correct paste address; display error/success alert dialogs
Diffstat (limited to 'src/eu/deki')
-rw-r--r--src/eu/deki/paste/DekiEuPaste.java4
-rw-r--r--src/eu/deki/paste/MainActivity.java1
-rw-r--r--src/eu/deki/paste/PasteTask.java29
3 files changed, 26 insertions, 8 deletions
diff --git a/src/eu/deki/paste/DekiEuPaste.java b/src/eu/deki/paste/DekiEuPaste.java
index a0d0ba9..234abcb 100644
--- a/src/eu/deki/paste/DekiEuPaste.java
+++ b/src/eu/deki/paste/DekiEuPaste.java
@@ -64,14 +64,14 @@ public class DekiEuPaste extends PasteTask
HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
conn.setSSLSocketFactory(context.getSocketFactory());
conn.setDoOutput(true);
+ conn.setInstanceFollowRedirects(false);
conn.setFixedLengthStreamingMode(request.getBytes().length);
OutputStream out = new BufferedOutputStream(conn.getOutputStream());
out.write(request.getBytes());
out.close();
- conn.getHeaderFields();
- String redirectUrl = conn.getURL().toString();
+ String redirectUrl = conn.getHeaderField("Location");
conn.disconnect();
diff --git a/src/eu/deki/paste/MainActivity.java b/src/eu/deki/paste/MainActivity.java
index 4f721b7..80ab0b8 100644
--- a/src/eu/deki/paste/MainActivity.java
+++ b/src/eu/deki/paste/MainActivity.java
@@ -6,7 +6,6 @@ import android.widget.Spinner;
import android.widget.EditText;
import android.widget.ArrayAdapter;
import android.view.View;
-import eu.deki.paste.PasteTask;
import eu.deki.paste.DekiEuPaste;
public class MainActivity extends Activity
diff --git a/src/eu/deki/paste/PasteTask.java b/src/eu/deki/paste/PasteTask.java
index 29b5c32..4a634e5 100644
--- a/src/eu/deki/paste/PasteTask.java
+++ b/src/eu/deki/paste/PasteTask.java
@@ -2,13 +2,14 @@ package eu.deki.paste;
import java.io.IOException;
import android.os.AsyncTask;
-import android.widget.Toast;
import android.content.Context;
+import android.app.AlertDialog;
+import android.app.AlertDialog.Builder;
import android.util.Log;
public abstract class PasteTask extends AsyncTask<String, Void, String>
{
- private String errorMessage = null;
+ private String errorMessage = "Fail";
protected Context parentActivity = null;
public PasteTask(Context parent)
@@ -29,9 +30,18 @@ public abstract class PasteTask extends AsyncTask<String, Void, String>
content = params[1];
expiration = params[2];
+ if(content.length() == 0)
+ {
+ errorMessage = parentActivity.getResources().getString(R.string.contentTooShort);
+ cancel(false);
+ return null;
+ }
+
try
{
result = paste(title, content, expiration);
+ if(result == null)
+ cancel(false);
}
catch(IOException ex)
{
@@ -47,14 +57,23 @@ public abstract class PasteTask extends AsyncTask<String, Void, String>
@Override
protected void onPostExecute(String result)
{
-
+ AlertDialog.Builder builder = new AlertDialog.Builder(parentActivity);
+ String message = String.format(parentActivity.getResources().getString(R.string.pasteSuccessMessage), result);
+ builder.setMessage(message);
+ builder.setTitle(R.string.pasteSuccessTitle);
+ builder.setPositiveButton("OK", null);
+ builder.create().show();
}
@Override
protected void onCancelled()
{
- //Toast toast = Toast.makeText(parentActivity.getApplicationContext(), errorMessage, Toast.LENGTH_SHORT);
- //toast.show();
+ AlertDialog.Builder builder = new AlertDialog.Builder(parentActivity);
+ String message = String.format(parentActivity.getResources().getString(R.string.pasteFailMessage), errorMessage);
+ builder.setMessage(message);
+ builder.setTitle(R.string.pasteFailTitle);
+ builder.setPositiveButton("OK", null);
+ builder.create().show();
}
protected abstract String paste(String title, String content, String delay) throws IOException;