Skip to content

Commit b3b4567

Browse files
Merge pull request #1592 from misaochan/fix-failed-uploads
Attempt to fix failed uploads
2 parents 34fd6e5 + 7e40f43 commit b3b4567

File tree

4 files changed

+14
-2
lines changed

4 files changed

+14
-2
lines changed

app/src/main/java/fr/free/nrw/commons/auth/LoginActivity.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import android.accounts.AccountManager;
77
import android.app.Activity;
88
import android.app.ProgressDialog;
9+
import android.content.Context;
910
import android.content.Intent;
1011
import android.content.SharedPreferences;
1112
import android.net.Uri;
@@ -136,6 +137,11 @@ public void onCreate(Bundle savedInstanceState) {
136137
}
137138
}
138139

140+
public static void startYourself(Context context) {
141+
Intent intent = new Intent(context, LoginActivity.class);
142+
context.startActivity(intent);
143+
}
144+
139145
private void forgotPassword() {
140146
Utils.handleWebUrl(this, Uri.parse(BuildConfig.FORGOT_PASSWORD_URL));
141147
}

app/src/main/java/fr/free/nrw/commons/auth/SessionManager.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,12 @@ public boolean isUserLoggedIn() {
8181
return sharedPreferences.getBoolean("isUserLoggedIn", false);
8282
}
8383

84+
public void forceLogin(Context context) {
85+
if (context != null) {
86+
LoginActivity.startYourself(context);
87+
}
88+
}
89+
8490
public Completable clearAllAccounts() {
8591
AccountManager accountManager = AccountManager.get(context);
8692
Account[] allAccounts = accountManager.getAccountsByType(ACCOUNT_TYPE);

app/src/main/java/fr/free/nrw/commons/upload/UploadService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -239,10 +239,10 @@ private void uploadContribution(Contribution contribution) {
239239
Timber.d("Successfully revalidated token!");
240240
} else {
241241
Timber.d("Unable to revalidate :(");
242-
// TODO: Put up a new notification, ask them to re-login
243242
stopForeground(true);
244243
Toast failureToast = Toast.makeText(this, R.string.authentication_failed, Toast.LENGTH_LONG);
245244
failureToast.show();
245+
sessionManager.forceLogin(this);
246246
return;
247247
}
248248
}

app/src/main/res/values/strings.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<string name="login_success">Login success!</string>
1919
<string name="login_failed">Login failed!</string>
2020
<string name="upload_failed">File not found. Please try another file.</string>
21-
<string name="authentication_failed">Authentication failed!</string>
21+
<string name="authentication_failed">Authentication failed, please login again</string>
2222
<string name="uploading_started">Upload started!</string>
2323
<string name="upload_completed_notification_title">%1$s uploaded!</string>
2424
<string name="upload_completed_notification_text">Tap to view your upload</string>

0 commit comments

Comments
 (0)