diff --git a/commons/src/main/java/org/wikimedia/commons/auth/AuthenticatedActivity.java b/commons/src/main/java/org/wikimedia/commons/auth/AuthenticatedActivity.java index 0aed732ad..11218c97e 100644 --- a/commons/src/main/java/org/wikimedia/commons/auth/AuthenticatedActivity.java +++ b/commons/src/main/java/org/wikimedia/commons/auth/AuthenticatedActivity.java @@ -16,6 +16,8 @@ public class AuthenticatedActivity extends SherlockFragmentActivity { String accountType; CommonsApplication app; + + private String authCookie; public AuthenticatedActivity(String accountType) { this.accountType = accountType; @@ -34,6 +36,7 @@ public class AuthenticatedActivity extends SherlockFragmentActivity { protected void onPostExecute(String result) { super.onPostExecute(result); if(result != null) { + authCookie = result; onAuthCookieAcquired(result); } else { onAuthFailure(); @@ -104,6 +107,10 @@ public class AuthenticatedActivity extends SherlockFragmentActivity { } } protected void requestAuthToken() { + if(authCookie != null) { + onAuthCookieAcquired(authCookie); + return; + } AccountManager accountManager = AccountManager.get(this); Account curAccount = app.getCurrentAccount(); if(curAccount == null) { @@ -125,6 +132,15 @@ public class AuthenticatedActivity extends SherlockFragmentActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); app = (CommonsApplication)this.getApplicationContext(); + if(savedInstanceState != null) { + authCookie = savedInstanceState.getString("authCookie"); + } + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + outState.putString("authCookie", authCookie); } protected void onAuthCookieAcquired(String authCookie) { diff --git a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java index d2a342ad4..ae5ffa9ea 100644 --- a/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java +++ b/commons/src/main/java/org/wikimedia/commons/contributions/ContributionsActivity.java @@ -1,10 +1,6 @@ package org.wikimedia.commons.contributions; -import android.*; -import android.net.Uri; -import android.os.Environment; import android.os.IBinder; -import android.provider.MediaStore; import android.support.v4.app.FragmentManager; import android.support.v4.app.LoaderManager; import android.support.v4.content.CursorLoader; @@ -23,10 +19,6 @@ import org.wikimedia.commons.auth.AuthenticatedActivity; import org.wikimedia.commons.auth.WikiAccountAuthenticator; import org.wikimedia.commons.media.MediaDetailPagerFragment; -import java.io.File; -import java.io.IOException; -import java.util.Date; - public class ContributionsActivity extends AuthenticatedActivity implements LoaderManager.LoaderCallbacks,