Updated ticker and title messages for notification of failed synchronization due to expired credentials

This commit is contained in:
David A. Velasco 2014-06-26 11:21:30 +02:00
parent 4f0dd59921
commit 41705bd284

View file

@ -382,15 +382,12 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter {
*/
private void notifyFailedSynchronization() {
NotificationCompat.Builder notificationBuilder = createNotificationBuilder();
notificationBuilder.setTicker(i18n(R.string.sync_fail_ticker));
boolean needsToUpdateCredentials = (
mLastFailedResult != null && (
mLastFailedResult.getCode() == ResultCode.UNAUTHORIZED ||
mLastFailedResult.isIdPRedirection()
)
);
// TODO put something smart in the contentIntent below for all the possible errors
notificationBuilder.setContentTitle(i18n(R.string.sync_fail_ticker));
if (needsToUpdateCredentials) {
// let the user update credentials with one click
Intent updateAccountCredentials = new Intent(getContext(), AuthenticatorActivity.class);
@ -400,12 +397,16 @@ public class FileSyncAdapter extends AbstractOwnCloudSyncAdapter {
updateAccountCredentials.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
updateAccountCredentials.addFlags(Intent.FLAG_FROM_BACKGROUND);
notificationBuilder
.setTicker(i18n(R.string.sync_fail_ticker_unauthorized))
.setContentTitle(i18n(R.string.sync_fail_ticker_unauthorized))
.setContentIntent(PendingIntent.getActivity(
getContext(), (int)System.currentTimeMillis(), updateAccountCredentials, PendingIntent.FLAG_ONE_SHOT
))
.setContentText(i18n(R.string.sync_fail_content_unauthorized, getAccount().name));
} else {
notificationBuilder
.setTicker(i18n(R.string.sync_fail_ticker))
.setContentTitle(i18n(R.string.sync_fail_ticker))
.setContentText(i18n(R.string.sync_fail_content, getAccount().name));
}