From 85ee1272bfac316fe0686b824d3bade31c83adf7 Mon Sep 17 00:00:00 2001 From: daniel oeh Date: Thu, 12 Jul 2012 15:04:02 +0200 Subject: Implemented flattr into menus, finished authActivity --- src/de/podfetcher/activity/FlattrAuthActivity.java | 33 ++++++++++++++++++++++ src/de/podfetcher/util/FeedItemMenuHandler.java | 3 +- src/de/podfetcher/util/FeedMenuHandler.java | 3 +- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/src/de/podfetcher/activity/FlattrAuthActivity.java b/src/de/podfetcher/activity/FlattrAuthActivity.java index a2fb57b7f..72f4ce716 100644 --- a/src/de/podfetcher/activity/FlattrAuthActivity.java +++ b/src/de/podfetcher/activity/FlattrAuthActivity.java @@ -1,6 +1,9 @@ package de.podfetcher.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; @@ -13,6 +16,7 @@ import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuItem; import de.podfetcher.R; +import de.podfetcher.util.FlattrUtils; /** Guides the user through the authentication process */ public class FlattrAuthActivity extends SherlockActivity { @@ -39,12 +43,41 @@ public class FlattrAuthActivity extends SherlockActivity { PodfetcherActivity.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 diff --git a/src/de/podfetcher/util/FeedItemMenuHandler.java b/src/de/podfetcher/util/FeedItemMenuHandler.java index 83c2fcb3e..2b54db490 100644 --- a/src/de/podfetcher/util/FeedItemMenuHandler.java +++ b/src/de/podfetcher/util/FeedItemMenuHandler.java @@ -99,8 +99,7 @@ public class FeedItemMenuHandler { context.startActivity(new Intent(Intent.ACTION_VIEW, uri)); break; case R.id.support_item: - Uri supportUri = Uri.parse(selectedItem.getPaymentLink()); - context.startActivity(new Intent(Intent.ACTION_VIEW, supportUri)); + FlattrUtils.clickUrl(context, selectedItem.getPaymentLink()); break; case R.id.share_link_item: ShareUtils.shareFeedItemLink(context, selectedItem); diff --git a/src/de/podfetcher/util/FeedMenuHandler.java b/src/de/podfetcher/util/FeedMenuHandler.java index 1f0667be5..b1e8bfef8 100644 --- a/src/de/podfetcher/util/FeedMenuHandler.java +++ b/src/de/podfetcher/util/FeedMenuHandler.java @@ -68,8 +68,7 @@ public class FeedMenuHandler { context.startActivity(new Intent(Intent.ACTION_VIEW, uri)); break; case R.id.support_item: - Uri supportUri = Uri.parse(selectedFeed.getPaymentLink()); - context.startActivity(new Intent(Intent.ACTION_VIEW, supportUri)); + FlattrUtils.clickUrl(context, selectedFeed.getPaymentLink()); break; case R.id.share_link_item: ShareUtils.shareFeedlink(context, selectedFeed); -- cgit v1.2.3