From bf1d4cb2488a194fe3cf60cad5fde62a29688d65 Mon Sep 17 00:00:00 2001 From: daniel oeh Date: Thu, 12 Jul 2012 21:01:00 +0200 Subject: [PATCH] Implemented revoke process --- res/values/strings.xml | 2 ++ .../activity/PreferenceActivity.java | 12 +++++++++- src/de/podfetcher/util/FlattrUtils.java | 24 +++++++++++++++++++ 3 files changed, 37 insertions(+), 1 deletion(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index c661ea6cb..5f539e38f 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -118,5 +118,7 @@ Support the development of Antennacast by flattring it. Thanks! Revoke access Revoke the access permission to your flattr account for this app. + Access revoked + You have successfully revoked deleted Antennapod\'s access token to your account. In order to complete the process, you have to remove this app from the list of approved applications in your account settings on the flattr website. \ No newline at end of file diff --git a/src/de/podfetcher/activity/PreferenceActivity.java b/src/de/podfetcher/activity/PreferenceActivity.java index 4a76a871c..4d1c4314b 100644 --- a/src/de/podfetcher/activity/PreferenceActivity.java +++ b/src/de/podfetcher/activity/PreferenceActivity.java @@ -30,10 +30,20 @@ public class PreferenceActivity extends SherlockPreferenceActivity { @Override public boolean onPreferenceClick(Preference preference) { - Log.d(TAG, "Flattring this app"); + Log.d(TAG, "Flattring this app"); // TODO implement return true; } }); + findPreference(PREF_FLATTR_REVOKE).setOnPreferenceClickListener(new OnPreferenceClickListener() { + + @Override + public boolean onPreferenceClick(Preference preference) { + FlattrUtils.revokeAccessToken(PreferenceActivity.this); + checkItemVisibility(); + return true; + } + + }); } @Override diff --git a/src/de/podfetcher/util/FlattrUtils.java b/src/de/podfetcher/util/FlattrUtils.java index d4eb1aa64..01f0ca4f9 100644 --- a/src/de/podfetcher/util/FlattrUtils.java +++ b/src/de/podfetcher/util/FlattrUtils.java @@ -10,6 +10,7 @@ import org.shredzone.flattr4j.oauth.AndroidAuthenticator; import org.shredzone.flattr4j.oauth.Scope; import android.app.AlertDialog; +import android.app.AlertDialog.Builder; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; @@ -115,6 +116,29 @@ public class FlattrUtils { return null; } } + + public static void revokeAccessToken(Context context) { + Log.d(TAG, "Revoking access token"); + deleteToken(); + showRevokeDialog(context); + } + + + //------------------------------------------------ DIALOGS + + private static void showRevokeDialog(final Context context) { + AlertDialog.Builder builder = new AlertDialog.Builder(context); + builder.setTitle(R.string.access_revoked_title); + builder.setMessage(R.string.access_revoked_info); + builder.setNeutralButton(android.R.string.ok, new OnClickListener() { + + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + } + }); + builder.create().show(); + } private static void showNoTokenDialog(final Context context, final String url) {