diff options
21 files changed, 136 insertions, 226 deletions
diff --git a/main/AndroidManifest.xml b/main/AndroidManifest.xml index 59f5d58..39ef9d8 100644 --- a/main/AndroidManifest.xml +++ b/main/AndroidManifest.xml @@ -111,7 +111,19 @@ android:name=".twitter.TwitterAuthorizationActivity" android:configChanges="keyboardHidden|orientation" android:label="@string/auth_twitter" - android:windowSoftInputMode="stateHidden" > + android:windowSoftInputMode="stateHidden" + android:launchMode="singleTask" > + <intent-filter> + <action android:name="android.intent.action.VIEW" /> + + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.BROWSABLE" /> + + <data + android:host="www.cgeo.org" + android:pathPrefix="/twitter/" + android:scheme="callback" /> + </intent-filter> </activity> <activity android:name=".EditWaypointActivity_" diff --git a/main/res/values-cs/strings.xml b/main/res/values-cs/strings.xml index f82e199..ad9ef59 100644 --- a/main/res/values-cs/strings.xml +++ b/main/res/values-cs/strings.xml @@ -475,12 +475,7 @@ <string name="auth_authorize">Autorizovat c:geo</string> <string name="auth_start">Zahájit autorizaci</string> <string name="auth_again">Znovu autorizovat</string> - <string name="auth_pin_hint">PIN přidělený Twitterem</string> <string name="auth_finish">Dokončit</string> - <string name="auth_dialog_wait">Čekání na Twitter…</string> - <string name="auth_dialog_pin_title">PIN kód</string> - <string name="auth_dialog_pin_message">Prosím, napiš PIN kód přidělený Twitterem. Je to nutné pro dokončení autorizace.</string> - <string name="auth_dialog_completed">c:geo nyní může posílat zprávy na Tvůj Twitter.</string> <!-- cache --> <plurals name="cache_counts"> @@ -1040,8 +1035,6 @@ <string name="twitter">Twitter: <a href="">@android_GC</a></string> <string name="nutshellmanual">Návod: <a href="">c:geo v Nutshell</a></string> <string name="about_twitter">Má <b>c:geo</b> publikovat nový status na Twitteru vždy, když zaloguješ keš?</string> - <string name="about_auth_1">Následující proces dovoluje aplikaci <b>c:geo</b> přístup na Twitter - pokud budeš souhlasit.</string> - <string name="about_auth_2">Klepnutím na tlačítko \"Zahájit autorizaci\" bude proces zahájen. Tento proces otevře webový prohlížeč s Twitterem. Přihlaš se na této stránce a povol <b>c:geu</b> přístup k tvému účtu. Pokud je to povoleno, Twitter ti ukáže číselný PIN kód. Tento PIN kód musíš zadat do <b>c:geo</b> a potvrdit. To je vše.</string> <!-- status (used via string based resource loading) --> <string name="status_new_release" tools:ignore="UnusedResources">Dostupné nové vydání.\nKlepni pro instalaci.</string> diff --git a/main/res/values-da/strings.xml b/main/res/values-da/strings.xml index 5deb999..85f2d4e 100644 --- a/main/res/values-da/strings.xml +++ b/main/res/values-da/strings.xml @@ -156,12 +156,7 @@ <string name="auth_authorize">Godkend c:geo</string> <string name="auth_start">Start godkendelse</string> <string name="auth_again">Start igen</string> - <string name="auth_pin_hint">PIN tildelt af Twitter</string> <string name="auth_finish">Færdig</string> - <string name="auth_dialog_wait">Venter på Twitter…</string> - <string name="auth_dialog_pin_title">PIN-kode</string> - <string name="auth_dialog_pin_message">Indtast PIN-kode fra Twitter. PIN er påkrævet for at gennemføre godkendelse.</string> - <string name="auth_dialog_completed">c:geo er nu godkendt til at poste beskeder på Twitter.</string> <!-- cache --> <plurals name="cache_counts"> @@ -287,7 +282,5 @@ <string name="facebook">Facebook: <a href="http://www.facebook.com/pages/cgeo/297269860090">c:geo page</a></string> <string name="twitter">Twitter: <a href="http://twitter.com/android_gc">@android_GC</a></string> <string name="about_twitter">Skal <b>c:geo</b> sende status til Twitter hvergang du logger en cache?</string> - <string name="about_auth_1">Med denne proces tillader du at <b>c:geo</b> får adgang til din Twitter.</string> - <string name="about_auth_2">Klik på \"godkend c:geo\" knappen for at starte godkendelsesprocessen. Det vil åbne Twitter i en webbrowser. Log ind på siden og tillad <b>c:geo</b> at tilgå din Twitter. Når godkendt, vil Twitter vise en PIN-kode. Denne PIN skal tastes ind i <b>c:geo</b> og bekræftes.</string> </resources> diff --git a/main/res/values-de/strings.xml b/main/res/values-de/strings.xml index 80f5c38..4d228fa 100644 --- a/main/res/values-de/strings.xml +++ b/main/res/values-de/strings.xml @@ -482,14 +482,7 @@ <string name="auth_authorize">c:geo autorisieren</string> <string name="auth_start">Starte Autorisierung</string> <string name="auth_again">Neustarten</string> - <string name="auth_pin_hint">Twitter-PIN</string> <string name="auth_finish">Fertig</string> - <string name="auth_dialog_wait">Warten auf Twitter…</string> - <string name="auth_dialog_pin_title">PIN Code</string> - <string name="auth_dialog_pin_message">Bitte den Twitter-PIN-Code eingeben, dies ist notwendig um die Autorisierung abzuschließen.</string> - <string name="auth_dialog_completed">c:geo ist nun autorisiert, Tweets bei Twitter zu erstellen.</string> - <string name="about_auth_1">Der folgende Prozess erlaubt es <b>c:geo</b> auf den persönlichen Twitter-Account zuzugreifen, wenn zugestimmt wird.</string> - <string name="about_auth_2">Ein Klick auf \"Starte Autorisierung\" öffnet eine Twitter-Seite in einem Browserfenster. Durch die Anmeldung und die Bestätigung wird <b>c:geo</b> ermöglicht, auf den persönlichen Twitter-Account zuzugreifen. Wird dies bestätigt, nennt Twitter eine numerische PIN, diese muss kopiert und in <b>c:geo</b> eingefügt werden. Das ist alles.</string> <string name="auth_ocde">opencaching.de</string> <string name="auth_ocpl">opencaching.pl</string> <string name="auth_authorize_oc">c:geo autorisieren</string> diff --git a/main/res/values-es/strings.xml b/main/res/values-es/strings.xml index 26bbe73..5c92273 100644 --- a/main/res/values-es/strings.xml +++ b/main/res/values-es/strings.xml @@ -386,12 +386,7 @@ <string name="auth_authorize">Autorizar c:geo</string> <string name="auth_start">Iniciar autorización</string> <string name="auth_again">Volver a iniciar</string> - <string name="auth_pin_hint">PIN asignado por Twitter</string> <string name="auth_finish">Fin</string> - <string name="auth_dialog_wait">Esperando por Twitter…</string> - <string name="auth_dialog_pin_title">Código PIN</string> - <string name="auth_dialog_pin_message">Debes usar el codigo PIN suministrado por Twitter. Es obligatorio completar la autorización.</string> - <string name="auth_dialog_completed">c:geo ahora está autorizado para publicar en Twitter.</string> <!-- cache --> <plurals name="cache_counts"> @@ -771,7 +766,5 @@ <string name="twitter">Twitter: <a href="">@android_GC</a></string> <string name="nutshellmanual">Manual: <a href="">c:geo en breve</a></string> <string name="about_twitter">¿Debe <b>c:geo</b> publicar el nuevo estado en Twitter cuando registras un escondite?</string> - <string name="about_auth_1">El siguiente proceso permite a <b>c:geo</b> acceder a Twitter - si estás de acuerdo.</string> - <string name="about_auth_2">Hacer clic en el botón \"autorizar c:geo\" iniciará el proceso. Este proceso abrirá un navegador con la web de Twitter. Identifícate y permite a <b>c:geo</b> acceder a tu cuenta. Si aceptas Twitter te mostrará un código PIN. Este PIN debe ser pegado en <b>c:geo</b> y ser confirmado. Eso es todo.</string> </resources> diff --git a/main/res/values-fr/strings.xml b/main/res/values-fr/strings.xml index b8c89b8..ac34d51 100644 --- a/main/res/values-fr/strings.xml +++ b/main/res/values-fr/strings.xml @@ -482,14 +482,7 @@ <string name="auth_authorize">autorisation de c:geo</string> <string name="auth_start">début d\'autorisation</string> <string name="auth_again">redémarre</string> - <string name="auth_pin_hint">code donné par Twitter</string> <string name="auth_finish">terminé</string> - <string name="auth_dialog_wait">en attente de Twitter…</string> - <string name="auth_dialog_pin_title">code PIN</string> - <string name="auth_dialog_pin_message">Veuillez saisir votre code PIN fourni par Twitter. Il est obligatoire pour finaliser l\'autorisation.</string> - <string name="auth_dialog_completed">c:geo est maintenant autorisé à poster sur Twitter.</string> - <string name="about_auth_1">Le processus suivant permet à <b>c:geo</b> d\'accéder à votre compte Twitter - si vous acceptez.</string> - <string name="about_auth_2">Cliquer sur le bouton \"début d\'autorisation\" pour démarrer. Une fenêtre de navigateur va s\'ouvrir pour vous connecter sur Twitter. Accepter pour que <b>c:geo</b> accéde à votre compte. Twitter vous affichera alors une code PIN composé de chiffres. Merci de coller ce code dans <b>c:geo</b> puis confirmer. C\'est tout!</string> <string name="auth_ocde">opencaching.de</string> <string name="auth_ocpl">opencaching.pl</string> <string name="auth_authorize_oc">Autoriser c:geo</string> diff --git a/main/res/values-hu/strings.xml b/main/res/values-hu/strings.xml index d2ae86c..ac87ce4 100644 --- a/main/res/values-hu/strings.xml +++ b/main/res/values-hu/strings.xml @@ -438,12 +438,7 @@ <string name="auth_authorize">Hozzáférés engedélyezése a c:geo-nak</string> <string name="auth_start">Engedélyezés indítása</string> <string name="auth_again">Engedélyezés indítása újra</string> - <string name="auth_pin_hint">PIN hozzárendelve a Twitter által</string> <string name="auth_finish">Befejezés</string> - <string name="auth_dialog_wait">Várakozás a Twitterre…</string> - <string name="auth_dialog_pin_title">PIN kód</string> - <string name="auth_dialog_pin_message">Kérlek írd be a PIN kódot amit a Twittertől kaptál. Ez szükséges lépés az engedélyezés befejezéséhez.</string> - <string name="auth_dialog_completed">A c:geo engedélyt kapott, hogy bejegyzéseket küldjön a Twitterre.</string> <!-- cache --> <plurals name="cache_counts"> @@ -922,8 +917,6 @@ <string name="twitter">Twitter: <a href="">@android_GC</a></string> <string name="nutshellmanual">Kézikönyv: <a href="">A c:geo dióhéjban</a></string> <string name="about_twitter">Akarod, hogy <b>c:geo</b> új bejegyzést írjon Twitterre mindig mikor egy ládát megtalálsz?</string> - <string name="about_auth_1">A következő folyamat engedélyezi a <b>c:geo</b>-nak, hogy hozzáférjen a Twitterhez – ha jóváhagyod.</string> - <string name="about_auth_2">Kattints a \"c:geo engedélyezése\" gombra, hogy elindítsd a folyamatot. Ez a folyamat meg fog nyitni egy böngészőt a Twitter weboldallal. Lépj be ezen az oldalon és hagyd jóvá, hogy a <b>c:geo</b> hozzáférjen a felhasználói fiókodhoz. Ha elfogadod, a Twitter mutatni fog egy számokból álló PIN kódot. Ezt a PIN kódot kell a <b>c:geo</b>-ban beillesztened és jóváhagynod. Ilyen egyszerű.</string> <!-- status --> <string name="status_new_release" tools:ignore="UnusedResources">Új kiadás található.\nKattints a telepítéshez.</string> diff --git a/main/res/values-it/strings.xml b/main/res/values-it/strings.xml index f5774fe..8712b03 100644 --- a/main/res/values-it/strings.xml +++ b/main/res/values-it/strings.xml @@ -482,12 +482,7 @@ <string name="auth_authorize">Autorizza c:geo</string> <string name="auth_start">Avvia autorizzazione</string> <string name="auth_again">Avvia ancora</string> - <string name="auth_pin_hint">PIN assegnato da Twitter</string> <string name="auth_finish">Fine</string> - <string name="auth_dialog_wait">In attesa di Twitter…</string> - <string name="auth_dialog_pin_title">Codice PIN</string> - <string name="auth_dialog_pin_message">Prego inserire il codice PIN fornito dal sito Twitter. È necessario per completare l\'autorizzazione.</string> - <string name="auth_dialog_completed">c:geo è ora autorizzato ad inviare a Twitter.</string> <!-- auth opencaching --> <string name="auth_ocde">opencaching.de</string> @@ -1068,8 +1063,6 @@ <string name="nutshellmanual">Manuale: <a href="">c:geo in a Nutshell</a></string> <string name="market">Android: <a href="">c:geo su Google Play</a></string> <string name="about_twitter">Può <b>c:geo</b> pubblicare su Twitter ogni volta che logghi un cache?</string> - <string name="about_auth_1">La procesura seguente autorizza <b>c:geo</b> ad accedere a Twitter - se confermato.</string> - <string name="about_auth_2">Clicca sul pulsante \"Autorizza c:geo\" per iniziare. Questa procedura aprirà il browser sulla pagina Twitter. Fai Login su questa pagina e autorizza <b>c:geo</b> ad accedere al tuo account. Se accettato, Twitter mostrerà un PIN code numerico. Questo PIN deve essere riportato in <b>c:geo</b> e confermato.</string> <!-- status --> <string name="status_new_release" tools:ignore="UnusedResources">Una nuova versione è disponibile.\nClicca per installarla.</string> diff --git a/main/res/values-ja/strings.xml b/main/res/values-ja/strings.xml index 377b2b4..41cbbd7 100644 --- a/main/res/values-ja/strings.xml +++ b/main/res/values-ja/strings.xml @@ -519,14 +519,7 @@ <string name="auth_authorize">c:geoを認証</string> <string name="auth_start">認証を開始</string> <string name="auth_again">再度認証を開始</string> - <string name="auth_pin_hint">TwitterのPINコード</string> <string name="auth_finish">完了</string> - <string name="auth_dialog_wait">Twitterからの返答を待っています…</string> - <string name="auth_dialog_pin_title">PINコード</string> - <string name="auth_dialog_pin_message">Twitterのサイトで表示されたPINコードを入力してください。認証を完了するために必要です。</string> - <string name="auth_dialog_completed">c:geoはTwitterにポストするための認証を受けました。</string> - <string name="about_auth_1"><b>c:geo</b>がTwitterにアクセスする許可を得るには次のようにしてください。</string> - <string name="about_auth_2">「認証を開始する」ボタンを押すとブラウザでTwitterのページが開きます。そのページにログインすれば<b>c:geo</b>があなたのアカウントにアクセルする許可が得られます。ログインに成功したら数字のPINコードが表示されるので、この下の入力欄にコピー&ペーストして「完了」ボタンを押してください。</string> <!-- auth opencaching --> <string name="auth_ocde">opencaching.de</string> diff --git a/main/res/values-nb/strings.xml b/main/res/values-nb/strings.xml index d49583e..dee018d 100644 --- a/main/res/values-nb/strings.xml +++ b/main/res/values-nb/strings.xml @@ -220,12 +220,7 @@ <string name="auth_authorize">Autoriser c:geo</string> <string name="auth_start">Start autorisasjon</string> <string name="auth_again">Prøv igjen</string> - <string name="auth_pin_hint">PIN-kode oppgitt av Twitter</string> <string name="auth_finish">Fullfør</string> - <string name="auth_dialog_wait">venter på Twitter…</string> - <string name="auth_dialog_pin_title">PIN-kode</string> - <string name="auth_dialog_pin_message">Vennligst tast inn PIN-koden oppgitt av Twitter. Det er obligatorisk at du fullfører autorisasjonen.</string> - <string name="auth_dialog_completed">c:geo kan nå poste på Twitter.</string> <!-- cache --> <plurals name="cache_counts"> @@ -389,7 +384,5 @@ <string name="website">web-side: <a href="http://cgeo.org/">cgeo.org</a></string> <string name="facebook">facebook: <a href="http://www.facebook.com/pages/cgeo/297269860090">c:geo page</a></string> <string name="about_twitter">Ønsker du at <b>c:geo</b> skal poste en status på Twitter hver gang du logger ett funn via <b>c:geo</b>?</string> - <string name="about_auth_1">Den følgende prosessen tillater <b>c:geo</b> tilgang til Twitter - hvis bruker samtykker.</string> - <string name="about_auth_2">Trykk på \"Start autorisasjon\" knappen for å starte prosessen. Denne prosessen vil åpne Twitter i web-leseren. Logg inn, og tillat <b>c:geo</b> tilgang til kontoen din. Hvis du aksepterer, vil Twitter oppgi en numerisk PIN-kode. Denne PIN-koden må så limes inn i <b>c:geo</b>. Verre er det ikke.</string> </resources> diff --git a/main/res/values-nl/strings.xml b/main/res/values-nl/strings.xml index bdecc02..1b5f7f6 100644 --- a/main/res/values-nl/strings.xml +++ b/main/res/values-nl/strings.xml @@ -456,12 +456,7 @@ <string name="auth_authorize">c:geo Autoriseren</string> <string name="auth_start">Start autorisatie</string> <string name="auth_again">Nogmaals starten</string> - <string name="auth_pin_hint">Door Twitter toegekende pin</string> <string name="auth_finish">Afronden</string> - <string name="auth_dialog_wait">Wachten op Twitter…</string> - <string name="auth_dialog_pin_title">Pin code</string> - <string name="auth_dialog_pin_message">Voer de door de Twitter website verstrekte PIN code in. Deze is verplicht om de autorisatie af te ronden.</string> - <string name="auth_dialog_completed">c:geo Is nu geautoriseerd om naar Twitter te posten.</string> <!-- cache --> <plurals name="cache_counts"> @@ -1018,8 +1013,6 @@ <string name="twitter">Twitter: <a href="">@android_GC</a></string> <string name="nutshellmanual">Handleiding: <a href="">c:geo in een notendop</a></string> <string name="about_twitter">Moet <b>c:geo</b> elke cache vondst publiceren naar Twitter?</string> - <string name="about_auth_1">Het volgende proces staat <b>c:geo</b> toe om Twitter toegang te verkrijgen bij goedkeuring.</string> - <string name="about_auth_2">Klik op de \"autoriseer c:geo\" knop om het proces te starten. Dit proces zal een browser openen met een Twitter pagina. Login op deze pagina en sta <b>c:geo</b> toegang tot je account toe. Bij goedkeuring laat Twitter een numerieke PIN code zien. Deze PIN dien je te plakken en te bevestigen in <b>c:geo</b>.</string> <!-- status (used via string based resource loading) --> <string name="status_new_release" tools:ignore="UnusedResources">Nieuwe release beschikbaar.\nTik om te installeren.</string> diff --git a/main/res/values-pl/strings.xml b/main/res/values-pl/strings.xml index 9b1bc87..9632cf8 100644 --- a/main/res/values-pl/strings.xml +++ b/main/res/values-pl/strings.xml @@ -514,12 +514,7 @@ <string name="auth_authorize">Autoryzacja c:geo</string> <string name="auth_start">Rozpoczynam autoryzację</string> <string name="auth_again">Rozpoczynam ponownie autoryzację</string> - <string name="auth_pin_hint">PIN nadany przez Twitter</string> <string name="auth_finish">Gotowe</string> - <string name="auth_dialog_wait">Czekam na Twitter…</string> - <string name="auth_dialog_pin_title">Kod PIN</string> - <string name="auth_dialog_pin_message">Proszę wpisać kod PIN dostarczony przez stronę Twitter. To jest obowiązkowe do ukończenia autoryzacji.</string> - <string name="auth_dialog_completed">c:geo jest teraz upoważniony do postu na Twitter.</string> <!-- auth opencaching --> <string name="auth_ocde">opencaching.de</string> @@ -1121,8 +1116,6 @@ <string name="nutshellmanual">Podręcznik: <a href="">c:geo skrócona instrukcja obsługi</a></string> <string name="market">Android: <a href="">c:geo w Google Play</a></string> <string name="about_twitter">Czy chczesz aby <b>c:geo</b> publikował nowy status na Twitter za każdym razem kiedy znajdziesz skrzynkę?</string> - <string name="about_auth_1">Poniższy proces pozwala <b>c:geo</b> uzyskać dostęp do Twitter za Twoim pozwoleniem.</string> - <string name="about_auth_2">Kliknięcie na \"Autoryzacja c:geo\" spowoduje rozpoczęcie procesu. Ten proces spowoduje otwarcie przeglądarki internetowej na stronie Twitter. Zaloguj się na tej stronie i pozwól <b>c:geo</b> uzyskać dostęp do Twojego konta. Jeśli zostanie zaakceptowany, Twitter wyświetli kod numeryczny PIN. Kod PIN musi zostać wklejony do <b>c:geo</b> i potwierdzony. To wszystko.</string> <!-- status (used via string based resource loading) --> <string name="status_new_release" tools:ignore="UnusedResources">Dostępna nowa wersja.\nKliknij aby zainstalować.</string> diff --git a/main/res/values-pt/strings.xml b/main/res/values-pt/strings.xml index acd15a3..7f5f787 100644 --- a/main/res/values-pt/strings.xml +++ b/main/res/values-pt/strings.xml @@ -482,14 +482,7 @@ <string name="auth_authorize">Autorizar c:geo</string> <string name="auth_start">Iniciar autorização</string> <string name="auth_again">Iniciar de novo</string> - <string name="auth_pin_hint">PIN atribuído pelo Twitter</string> <string name="auth_finish">Fim</string> - <string name="auth_dialog_wait">A esperar pelo Twitter…</string> - <string name="auth_dialog_pin_title">Código PIN</string> - <string name="auth_dialog_pin_message">Por favor insira o código PIN fornecido pelo site do Twitter. É imperativo para que se complete a autorização.</string> - <string name="auth_dialog_completed">O c:geo está agora autorizado a publicar no Twitter.</string> - <string name="about_auth_1">O processo seguinte permite <b>c:geo</b> aceder ao Twitter - se concordar.</string> - <string name="about_auth_2">Um clique sobre o botão \"autorizar c:geo \" irá iniciar o processo. Este processo irá abrir um navegador com uma página no Twitter. Entre nesta página e permita o <b>c:geo</b> aceder à sua conta. Se isso for aceite, o Twitter vai mostrar um código PIN numérico. Este PIN deve ser colado em <b>c:geo</b> e confirmado. É tudo.</string> <string name="auth_ocde">opencaching.de</string> <string name="auth_ocpl">Opencaching.pl</string> <string name="auth_authorize_oc">Autorizar c:geo</string> diff --git a/main/res/values-sk/strings.xml b/main/res/values-sk/strings.xml index de25c00..371ceb0 100644 --- a/main/res/values-sk/strings.xml +++ b/main/res/values-sk/strings.xml @@ -446,12 +446,7 @@ <string name="auth_authorize">autorizovať c:geo</string> <string name="auth_start">Zahájiť autorizáciu</string> <string name="auth_again">Znovu autorizovať</string> - <string name="auth_pin_hint">PIN pridelený Twitterom</string> <string name="auth_finish">Dokončiť</string> - <string name="auth_dialog_wait">Čakanie na Twitter…</string> - <string name="auth_dialog_pin_title">PIN kód</string> - <string name="auth_dialog_pin_message">Prosím, napíšte PIN kód, ktorý vám zobrazil Twitter. Je to potrebné pre dokončenie autorizácie.</string> - <string name="auth_dialog_completed">c:geo teraz môže posielať správy na váš Twitter.</string> <!-- cache --> <plurals name="cache_counts"> @@ -937,8 +932,6 @@ <string name="twitter">Twitter: <a href="">@android_GC</a></string> <string name="nutshellmanual">Manuál: <a href="">c:geo v kocke</a></string> <string name="about_twitter">Chcete, aby <b>c:geo</b> napísalo na váš Twitter vždy keď zapíšete nájdenie skrýše?</string> - <string name="about_auth_1">Pomocou nasledujúceho procesu môžete aplikácii <b>c:geo</b> umožniť odosielanie príspevkov na váš Twitter. </string> - <string name="about_auth_2">Ťuknutím na tlačidlo „Zahájiť autorizáciu“ celý proces začne. Tento proces otvorí webovú stránku Twitteru, kde sa sa prihlásite a tlačidlom „Authorize app“ umožníte aplikácii <b>c:geo</b> prístup k vášmu Twitter účtu. Potom čo ťuknete na „Authorize app“, Twitter vám pridelí PIN kód. Tento kód skopírujte a vložte do aplikácie <b>c:geo</b>. A potvrďte. To je všetko.</string> <!-- status --> <string name="status_new_release" tools:ignore="UnusedResources">Je dostupné nové vydanie.\nKliknite pre inštaláciu.</string> diff --git a/main/res/values-sl/strings.xml b/main/res/values-sl/strings.xml index 11bf1a0..c5b8cb5 100644 --- a/main/res/values-sl/strings.xml +++ b/main/res/values-sl/strings.xml @@ -535,14 +535,7 @@ <string name="auth_authorize">Poveži c:geo s Twitterjem</string> <string name="auth_start">Začni z avtorizacijo</string> <string name="auth_again">Ponovno začni</string> - <string name="auth_pin_hint">PIN, ki ga dodeli Twitter</string> <string name="auth_finish">Končaj</string> - <string name="auth_dialog_wait">Čakam na Twitter…</string> - <string name="auth_dialog_pin_title">PIN koda</string> - <string name="auth_dialog_pin_message">Vnesite PIN kodo, ki ste jo dobili na spletni strani Twitterja.</string> - <string name="auth_dialog_completed">c:geo je sedaj povezan s Twitterjem za objavo sporočil.</string> - <string name="about_auth_1">Sledeči postopek omogoča <b>c:geotu</b> povezavo s Twitterjem.</string> - <string name="about_auth_2">Klik na gumb \"Poveži c:geo\" bo začel s postopkom avtorizacije. Med postopkom se bo odprl brskalnik s Twitterjem. V brskalniku se prijavite v Twitter in dovolite aplikaciji <b>c:geo</b> da dostopa do vašega računa. Ko to potrdite, vam bo Twitter izpisal PIN kodo. To kodo prepišite v <b>c:geo</b> in potrdite.</string> <!-- auth opencaching --> <string name="auth_ocde">opencaching.de</string> diff --git a/main/res/values-sv/strings.xml b/main/res/values-sv/strings.xml index 8230277..2561c81 100644 --- a/main/res/values-sv/strings.xml +++ b/main/res/values-sv/strings.xml @@ -536,14 +536,7 @@ <string name="auth_authorize">Koppla c:geo mot Twitter</string> <string name="auth_start">Påbörja koppling mot Twitter</string> <string name="auth_again">Koppla mot Twitter igen</string> - <string name="auth_pin_hint">PIN erhållen från Twitter</string> <string name="auth_finish">Bekräfta PIN</string> - <string name="auth_dialog_wait">Väntar på Twitter…</string> - <string name="auth_dialog_pin_title">PIN kod</string> - <string name="auth_dialog_pin_message">Vänligen skriv in PIN koden du fick på Twitters hemsida. Den krävs för att slutföra kopplingen.</string> - <string name="auth_dialog_completed">c:geo är nu godkänd att posta på Twitter.</string> - <string name="about_auth_1">Nedan tillåter du <b>c:geo</b> att ansluta till Twitter.</string> - <string name="about_auth_2">Klicka på \"Påbörja koppling mot Twitter\" om du vill koppla ihop <b>c:geo</b> med Twitter. Twitters hemsida kommer att öppnas i en webbläsare. Logga in på den sidan och tillåt <b>c:geo</b> att ansluta till ditt konto. När du godkänt så kommer Twitter att visa en PIN kod. Kom ihåg denna PIN kod, stäng webbläsaren och skriv in PIN koden i <b>c:geo</b> och bekräfta.</string> <!-- auth opencaching --> <string name="auth_ocde">opencaching.de</string> diff --git a/main/res/values/strings.xml b/main/res/values/strings.xml index 959599d..b7b56cd 100644 --- a/main/res/values/strings.xml +++ b/main/res/values/strings.xml @@ -533,19 +533,18 @@ <string name="sendToCgeo_download_fail">c:geo failed to download caches. No internet connection, or send2c:geo is down.</string> <string name="sendToCgeo_no_registration">c:geo failed to download caches. Registration for send2c:geo expired. Please register in settings.</string> - <!-- auth twitter --> + <!-- auth generic --> <string name="auth_twitter">Twitter</string> <string name="auth_authorize">Authorize c:geo</string> <string name="auth_start">Start authorization</string> <string name="auth_again">Start again</string> - <string name="auth_pin_hint">PIN assigned by Twitter</string> <string name="auth_finish">Finish</string> - <string name="auth_dialog_wait">Waiting for Twitter…</string> - <string name="auth_dialog_pin_title">PIN code</string> - <string name="auth_dialog_pin_message">Please type in the PIN code provided by Twitter. It is required to complete authorization.</string> - <string name="auth_dialog_completed">c:geo is now authorized to post on Twitter.</string> - <string name="about_auth_1">The following process will allow <b>c:geo</b> to access Twitter.</string> - <string name="about_auth_2">Pressing the \"authorize c:geo\" button will start the process. This process will open up a web browser with a Twitter page. Log in on this page and allow <b>c:geo</b> to access your account. After this, Twitter will show up a numeric PIN code. This PIN must be pasted into <b>c:geo</b> and confirmed. That\'s all.</string> + <string name="auth_dialog_waiting">Waiting for %s…</string> + <string name="auth_explain_short">The following process will allow <b>c:geo</b> to access %s.</string> + <string name="auth_explain_long">Pressing the \"authorize c:geo\" button will start the process. This process will open up a web browser with a %s page. Log in on this page and allow <b>c:geo</b> to access your account. That\'s all.</string> + + <!-- auth Twitter --> + <string name="auth_dialog_completed_twitter">c:geo is now authorized to post on Twitter.</string> <!-- auth opencaching --> <string name="auth_ocde">opencaching.de</string> diff --git a/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java b/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java index 96875ce..45a4475 100644 --- a/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java +++ b/main/src/cgeo/geocaching/connector/oc/OCAuthorizationActivity.java @@ -19,7 +19,8 @@ public class OCAuthorizationActivity extends OAuthAuthorizationActivity { "/okapi/services/oauth/access_token", false, CgeoApplication.getInstance().getResources().getString(authParams.getCKResId()), - CgeoApplication.getInstance().getResources().getString(authParams.getCSResId())); + CgeoApplication.getInstance().getResources().getString(authParams.getCSResId()), + null); this.authParams = authParams; } diff --git a/main/src/cgeo/geocaching/network/OAuthAuthorizationActivity.java b/main/src/cgeo/geocaching/network/OAuthAuthorizationActivity.java index 79bda16..7f099f3 100644 --- a/main/src/cgeo/geocaching/network/OAuthAuthorizationActivity.java +++ b/main/src/cgeo/geocaching/network/OAuthAuthorizationActivity.java @@ -3,6 +3,7 @@ package cgeo.geocaching.network; import butterknife.InjectView; import cgeo.geocaching.R; +import cgeo.geocaching.R.string; import cgeo.geocaching.activity.AbstractActivity; import cgeo.geocaching.utils.Log; import cgeo.geocaching.utils.MatcherWrapper; @@ -30,6 +31,9 @@ import java.util.regex.Pattern; public abstract class OAuthAuthorizationActivity extends AbstractActivity { + public static final int NOT_AUTHENTICATED = 0; + public static final int AUTHENTICATED = 1; + private String host; private String pathRequest; private String pathAuthorize; @@ -37,6 +41,7 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity { private boolean https; private String consumerKey; private String consumerSecret; + @Nullable private String callback; private String OAtoken = null; private String OAtokenSecret = null; private final Pattern paramsPattern1 = Pattern.compile("oauth_token=([a-zA-Z0-9\\-\\_.]+)"); @@ -62,9 +67,11 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity { if (msg.what == 1) { startButton.setText(getAuthAgain()); - pinEntry.setVisibility(View.VISIBLE); - pinEntryButton.setVisibility(View.VISIBLE); - pinEntryButton.setOnClickListener(new ConfirmPINListener()); + if (isOOB()) { + pinEntry.setVisibility(View.VISIBLE); + pinEntryButton.setVisibility(View.VISIBLE); + pinEntryButton.setOnClickListener(new ConfirmPINListener()); + } } else { showToast(getErrAuthInitialize()); startButton.setText(getAuthStart()); @@ -83,7 +90,7 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity { pinEntryButton.setOnClickListener(new ConfirmPINListener()); pinEntryButton.setEnabled(true); - if (msg.what == 1) { + if (msg.what == AUTHENTICATED) { showToast(getAuthDialogCompleted()); pinEntryButton.setVisibility(View.GONE); @@ -106,7 +113,8 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity { String pathAccess, boolean https, String consumerKey, - String consumerSecret) { + String consumerSecret, + @Nullable String callback) { this.host = host; this.pathRequest = pathRequest; this.pathAuthorize = pathAuthorize; @@ -114,6 +122,7 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity { this.https = https; this.consumerKey = consumerKey; this.consumerSecret = consumerSecret; + this.callback = callback; } @Override @@ -122,10 +131,6 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity { setTitle(getAuthTitle()); - init(); - } - - private void init() { auth_1.setText(getAboutAuth1()); auth_2.setText(getAboutAuth2()); @@ -145,18 +150,43 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity { } else { // already have temporary tokens, continue from pin startButton.setText(getAuthAgain()); + if (isOOB()) { + pinEntry.setHint(getAuthPinHint()); + pinEntry.setVisibility(View.VISIBLE); + pinEntryButton.setVisibility(View.VISIBLE); + pinEntryButton.setOnClickListener(new ConfirmPINListener()); + } + } + } - pinEntry.setHint(getAuthPinHint()); - pinEntry.setVisibility(View.VISIBLE); - pinEntryButton.setVisibility(View.VISIBLE); - pinEntryButton.setOnClickListener(new ConfirmPINListener()); + @Override + public void onNewIntent(final Intent intent) { + setIntent(intent); + } + + @Override + public void onResume() { + super.onResume(); + final Uri uri = getIntent().getData(); + if (uri != null) { + final String verifier = uri.getQueryParameter("oauth_verifier"); + if (StringUtils.isNotBlank(verifier)) { + exchangeTokens(verifier); + } else { + // We can shortcut the whole verification process if we do not have a token at all. + changeTokensHandler.sendEmptyMessage(NOT_AUTHENTICATED); + } } } + private boolean isOOB() { + return callback == null; + } + private void requestToken() { final Parameters params = new Parameters(); - params.put("oauth_callback", "oob"); + params.put("oauth_callback", isOOB() ? "oob" : callback); final String method = "GET"; OAuth.signOAuth(host, pathRequest, method, https, params, null, null, consumerKey, consumerSecret); final String line = Network.getResponseData(Network.getRequest(getUrlPrefix() + host + pathRequest, params)); @@ -192,12 +222,12 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity { requestTokenHandler.sendEmptyMessage(status); } - private void changeToken() { + private void changeToken(final String verifier) { - int status = 0; + int status = NOT_AUTHENTICATED; try { - final Parameters params = new Parameters("oauth_verifier", pinEntry.getText().toString()); + final Parameters params = new Parameters("oauth_verifier", verifier); final String method = "POST"; OAuth.signOAuth(host, pathAccess, method, https, params, OAtoken, OAtokenSecret, consumerKey, consumerSecret); @@ -221,7 +251,7 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity { setTokens(null, null, false); } else { setTokens(OAtoken, OAtokenSecret, true); - status = 1; + status = AUTHENTICATED; } } catch (Exception e) { Log.e("OAuthAuthorizationActivity.changeToken", e); @@ -263,29 +293,34 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity { @Override public void onClick(View arg0) { - if (StringUtils.isEmpty(pinEntry.getText().toString())) { + final String verifier = pinEntry.getText().toString(); + if (StringUtils.isEmpty(verifier)) { helpDialog(getAuthDialogPinTitle(), getAuthDialogPinMessage()); return; } - if (changeTokensDialog == null) { - changeTokensDialog = new ProgressDialog(OAuthAuthorizationActivity.this); - changeTokensDialog.setCancelable(false); - changeTokensDialog.setMessage(getAuthDialogWait()); - } - changeTokensDialog.show(); - pinEntryButton.setEnabled(false); - pinEntryButton.setOnTouchListener(null); - pinEntryButton.setOnClickListener(null); - - (new Thread() { + exchangeTokens(verifier); + } + } - @Override - public void run() { - changeToken(); - } - }).start(); + private void exchangeTokens(final String verifier) { + if (changeTokensDialog == null) { + changeTokensDialog = new ProgressDialog(this); + changeTokensDialog.setCancelable(false); + changeTokensDialog.setMessage(getAuthDialogWait()); } + changeTokensDialog.show(); + pinEntryButton.setEnabled(false); + pinEntryButton.setOnTouchListener(null); + pinEntryButton.setOnClickListener(null); + + (new Thread() { + + @Override + public void run() { + changeToken(verifier); + } + }).start(); } protected abstract ImmutablePair<String, String> getTempTokens(); @@ -298,29 +333,56 @@ public abstract class OAuthAuthorizationActivity extends AbstractActivity { protected abstract String getAuthTitle(); - protected abstract String getAuthAgain(); + protected String getAuthAgain() { + return getString(R.string.auth_again); + } - protected abstract String getErrAuthInitialize(); + protected String getErrAuthInitialize() { + return getString(string.err_auth_initialize); + } - protected abstract String getAuthStart(); + protected String getAuthStart() { + return getString(R.string.auth_start); + } protected abstract String getAuthDialogCompleted(); - protected abstract String getErrAuthProcess(); + protected String getErrAuthProcess() { + return res.getString(R.string.err_auth_process); + } - protected abstract String getAuthDialogWait(); + protected String getAuthDialogWait() { + return res.getString(R.string.auth_dialog_waiting, getTitle()); + } - protected abstract String getAuthDialogPinTitle(); + protected String getAuthDialogPinTitle() { + assert false; + return null; + } - protected abstract String getAuthDialogPinMessage(); + protected String getAuthDialogPinMessage() { + assert false; + return null; + } - protected abstract String getAboutAuth1(); + protected String getAuthPinHint() { + assert false; + return null; + } - protected abstract String getAboutAuth2(); + protected String getAboutAuth1() { + return res.getString(R.string.auth_explain_short, getTitle()); + } - protected abstract String getAuthAuthorize(); + protected String getAboutAuth2() { + return res.getString(R.string.auth_explain_long, getTitle()); + } - protected abstract String getAuthPinHint(); + protected String getAuthAuthorize() { + return res.getString(R.string.auth_authorize, getTitle()); + } - protected abstract String getAuthFinish(); + protected String getAuthFinish() { + return res.getString(R.string.auth_finish, getTitle()); + } } diff --git a/main/src/cgeo/geocaching/settings/Settings.java b/main/src/cgeo/geocaching/settings/Settings.java index 65d06bf..16b6562 100644 --- a/main/src/cgeo/geocaching/settings/Settings.java +++ b/main/src/cgeo/geocaching/settings/Settings.java @@ -51,8 +51,8 @@ public final class Settings { private final static int unitsMetric = 1; // twitter api keys - private final static String keyConsumerPublic = CryptUtils.rot13("ESnsCvAv3kEupF1GCR3jGj"); - private final static String keyConsumerSecret = CryptUtils.rot13("7vQWceACV9umEjJucmlpFe9FCMZSeqIqfkQ2BnhV9x"); + private final static String keyConsumerPublic = CryptUtils.rot13("XdphhYs0nCqMwmKzpVkzkD"); + private final static String keyConsumerSecret = CryptUtils.rot13("BEBZgTKrzVvYuH6h26HbqmLk87qfVsrmdeRXlMZewIj"); public enum CoordInputFormatEnum { Plain, diff --git a/main/src/cgeo/geocaching/twitter/TwitterAuthorizationActivity.java b/main/src/cgeo/geocaching/twitter/TwitterAuthorizationActivity.java index 13dbde9..b813389 100644 --- a/main/src/cgeo/geocaching/twitter/TwitterAuthorizationActivity.java +++ b/main/src/cgeo/geocaching/twitter/TwitterAuthorizationActivity.java @@ -16,7 +16,8 @@ public class TwitterAuthorizationActivity extends OAuthAuthorizationActivity { "/oauth/access_token", true, Settings.getKeyConsumerPublic(), - Settings.getKeyConsumerSecret()); + Settings.getKeyConsumerSecret(), + "callback://www.cgeo.org/twitter/"); } @Override @@ -40,68 +41,8 @@ public class TwitterAuthorizationActivity extends OAuthAuthorizationActivity { } @Override - protected final String getAuthAgain() { - return res.getString(R.string.auth_again); - } - - @Override - protected final String getErrAuthInitialize() { - return res.getString(R.string.err_auth_initialize); - } - - @Override - protected final String getAuthStart() { - return res.getString(R.string.auth_start); - } - - @Override protected final String getAuthDialogCompleted() { - return res.getString(R.string.auth_dialog_completed); - } - - @Override - protected final String getErrAuthProcess() { - return res.getString(R.string.err_auth_process); - } - - @Override - protected final String getAuthDialogWait() { - return res.getString(R.string.auth_dialog_wait); - } - - @Override - protected final String getAuthDialogPinTitle() { - return res.getString(R.string.auth_dialog_pin_title); - } - - @Override - protected final String getAuthDialogPinMessage() { - return res.getString(R.string.auth_dialog_pin_message); - } - - @Override - protected final String getAboutAuth1() { - return res.getString(R.string.about_auth_1); - } - - @Override - protected final String getAboutAuth2() { - return res.getString(R.string.about_auth_2); - } - - @Override - protected final String getAuthAuthorize() { - return res.getString(R.string.auth_authorize); - } - - @Override - protected final String getAuthPinHint() { - return res.getString(R.string.auth_pin_hint); - } - - @Override - protected final String getAuthFinish() { - return res.getString(R.string.auth_finish); + return res.getString(R.string.auth_dialog_completed_twitter); } } |
