summaryrefslogtreecommitdiff
path: root/src/de/danoeh/antennapod/activity/FlattrAuthActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/danoeh/antennapod/activity/FlattrAuthActivity.java')
-rw-r--r--src/de/danoeh/antennapod/activity/FlattrAuthActivity.java100
1 files changed, 100 insertions, 0 deletions
diff --git a/src/de/danoeh/antennapod/activity/FlattrAuthActivity.java b/src/de/danoeh/antennapod/activity/FlattrAuthActivity.java
new file mode 100644
index 000000000..26773ae60
--- /dev/null
+++ b/src/de/danoeh/antennapod/activity/FlattrAuthActivity.java
@@ -0,0 +1,100 @@
+package de.danoeh.antennapod.activity;
+
+import org.shredzone.flattr4j.exception.FlattrException;
+
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.View;
+import android.view.View.OnClickListener;
+import android.widget.Button;
+import android.widget.TextView;
+
+import com.actionbarsherlock.app.SherlockActivity;
+import com.actionbarsherlock.view.Menu;
+import com.actionbarsherlock.view.MenuItem;
+
+import de.danoeh.antennapod.util.FlattrUtils;
+import de.danoeh.antennapod.R;
+
+/** Guides the user through the authentication process */
+public class FlattrAuthActivity extends SherlockActivity {
+ private static final String TAG = "FlattrAuthActivity";
+
+ private TextView txtvExplanation;
+ private Button butAuthenticate;
+ private Button butReturn;
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ Log.d(TAG, "Activity created");
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ setContentView(R.layout.flattr_auth);
+ txtvExplanation = (TextView) findViewById(R.id.txtvExplanation);
+ butAuthenticate = (Button) findViewById(R.id.but_authenticate);
+ butReturn = (Button) findViewById(R.id.but_return_home);
+
+ butReturn.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ startActivity(new Intent(FlattrAuthActivity.this,
+ MainActivity.class));
+ }
+ });
+
+ butAuthenticate.setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ try {
+ FlattrUtils.startAuthProcess(FlattrAuthActivity.this);
+ } catch (FlattrException e) {
+ e.printStackTrace();
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ Log.d(TAG, "Activity resumed");
+ Uri uri = getIntent().getData();
+ if (uri != null) {
+ Log.d(TAG, "Received uri");
+ try {
+ if (FlattrUtils.handleCallback(uri) != null) {
+ handleAuthenticationSuccess();
+ Log.d(TAG, "Authentication seemed to be successful");
+ }
+ } catch (FlattrException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ private void handleAuthenticationSuccess() {
+ txtvExplanation.setText(R.string.flattr_auth_success);
+ butAuthenticate.setEnabled(false);
+ butReturn.setVisibility(View.VISIBLE);
+ }
+
+ @Override
+ public boolean onCreateOptionsMenu(Menu menu) {
+ return true;
+ }
+
+ @Override
+ public boolean onOptionsItemSelected(MenuItem item) {
+ switch (item.getItemId()) {
+ case android.R.id.home:
+ finish();
+ break;
+ default:
+ return false;
+ }
+ return true;
+ }
+
+}