From afa0fc2facf588c317164f9bff252debda11f870 Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Thu, 23 Mar 2017 20:42:09 +0100 Subject: [PATCH] Add a feature to reinitialize synchronization cursor --- .../AccountActionsActivity.java | 36 +++++++++++++++---- .../engine/OCSMSOwnCloudClient.java | 2 +- src/main/res/values-en/strings.xml | 4 +++ src/main/res/values-es/strings.xml | 2 ++ src/main/res/values-fr/strings.xml | 4 +++ src/main/res/values/strings.xml | 4 +++ 6 files changed, 44 insertions(+), 8 deletions(-) diff --git a/src/main/java/fr/unix_experience/owncloud_sms/activities/remote_account/AccountActionsActivity.java b/src/main/java/fr/unix_experience/owncloud_sms/activities/remote_account/AccountActionsActivity.java index cecd412..348cbf5 100644 --- a/src/main/java/fr/unix_experience/owncloud_sms/activities/remote_account/AccountActionsActivity.java +++ b/src/main/java/fr/unix_experience/owncloud_sms/activities/remote_account/AccountActionsActivity.java @@ -1,7 +1,10 @@ package fr.unix_experience.owncloud_sms.activities.remote_account; +import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; +import android.support.v7.app.AlertDialog; import android.support.v7.app.ActionBar; import android.util.Log; import android.view.MenuItem; @@ -13,6 +16,7 @@ import java.util.ArrayList; import fr.unix_experience.android_lib.AppCompatListActivity; import fr.unix_experience.owncloud_sms.R; +import fr.unix_experience.owncloud_sms.prefs.OCSMSSharedPrefs; public class AccountActionsActivity extends AppCompatListActivity { @Override @@ -31,6 +35,7 @@ public class AccountActionsActivity extends AppCompatListActivity { // Create item list itemList.add(getBaseContext().getString(R.string.restore_all_messages)); + itemList.add(getBaseContext().getString(R.string.reinit_sync_cursor)); adp.notifyDataSetChanged(); @@ -57,14 +62,31 @@ public class AccountActionsActivity extends AppCompatListActivity { case 0: Intent intent = new Intent(this, RestoreMessagesActivity.class); intent.putExtra("account", _accountName); - try { - startActivity(intent); - } catch (IllegalStateException e) { - Log.e(AccountActionsActivity.TAG, e.getMessage()); - } + try { + startActivity(intent); + } + catch (IllegalStateException e) { + Log.e(AccountActionsActivity.TAG, e.getMessage()); + } break; - default: - break; // Unhandled + case 1: + final Context me = this; + new AlertDialog.Builder(this) + .setIcon(android.R.drawable.ic_dialog_alert) + .setTitle(R.string.reinit_sync_cursor) + .setMessage(R.string.reinit_sync_cursor_confirm) + .setPositiveButton(R.string.yes_confirm, new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + (new OCSMSSharedPrefs(me)).setLastMessageDate(0L); + Log.i(AccountActionsActivity.TAG, "Synchronization cursor reinitialized"); + } + + }) + .setNegativeButton(R.string.no_confirm, null) + .show(); + break; + default: break; // Unhandled } } diff --git a/src/main/java/fr/unix_experience/owncloud_sms/engine/OCSMSOwnCloudClient.java b/src/main/java/fr/unix_experience/owncloud_sms/engine/OCSMSOwnCloudClient.java index 01bc1ab..3aac627 100644 --- a/src/main/java/fr/unix_experience/owncloud_sms/engine/OCSMSOwnCloudClient.java +++ b/src/main/java/fr/unix_experience/owncloud_sms/engine/OCSMSOwnCloudClient.java @@ -95,7 +95,7 @@ public class OCSMSOwnCloudClient { } public void doPushRequest(JSONArray smsList) throws OCSyncException { - /** + /* * If we need other API push, set it here */ switch (_serverAPIVersion) { diff --git a/src/main/res/values-en/strings.xml b/src/main/res/values-en/strings.xml index f9aebf6..747e71a 100644 --- a/src/main/res/values-en/strings.xml +++ b/src/main/res/values-en/strings.xml @@ -153,5 +153,9 @@ Please make this application default SMS application to permit restore your messages. This limitation has been introduced by Android 4.4. messages restored... No connection available, please ensure you have a valid data connection. + Reinit synchronisation cursor + Are you sure you want to reinitialize the synchronization cursor ? This can slowdown the next synchronisation if we found many old messages not synced with server. + Yes + No diff --git a/src/main/res/values-es/strings.xml b/src/main/res/values-es/strings.xml index 1aaa9a0..86ee393 100644 --- a/src/main/res/values-es/strings.xml +++ b/src/main/res/values-es/strings.xml @@ -177,4 +177,6 @@ La restauración SMS se ha completado. mensajes restaurados… Sin conexión disponible, por favor asegure que tiene una conexión de datos válida. + Si + No diff --git a/src/main/res/values-fr/strings.xml b/src/main/res/values-fr/strings.xml index 279e919..f41cd04 100644 --- a/src/main/res/values-fr/strings.xml +++ b/src/main/res/values-fr/strings.xml @@ -177,4 +177,8 @@ La restauration des SMS est terminée messages restaurés... Aucune connexion disponible, vérifiez que vous disposez d\'une connexion de données valide. + Réinitialiser le curseur de synchronisation + Êtes vous sûr de vouloir réinitialiser le curseur de synchronisation ? Cela peut ralentir fortement la prochaine synchronisation si l\'application trouve beaucoup d\'anciens messages non synchronisés avec le serveur. + Oui + Non diff --git a/src/main/res/values/strings.xml b/src/main/res/values/strings.xml index 6b90d12..0c7a4f8 100644 --- a/src/main/res/values/strings.xml +++ b/src/main/res/values/strings.xml @@ -254,4 +254,8 @@ SMS restoration is now finished. messages restored… No connection available, please ensure you have a valid data connection. + Reinit synchronisation cursor + Are you sure you want to reinitialize the synchronization cursor ? This can slowdown the next synchronisation if we found many old messages not synced with server. + Yes + No