From: David A. Velasco Date: Tue, 14 Apr 2015 12:34:27 +0000 (+0200) Subject: Modify upgrade of account names in database; upgrade of accounts in AccountManager... X-Git-Tag: test~30^2~15 X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/commitdiff_plain/47dcbb219e0026e1e6c5ab5babc6ba84b6262118?hp=--cc Modify upgrade of account names in database; upgrade of accounts in AccountManager will be done before, not after --- 47dcbb219e0026e1e6c5ab5babc6ba84b6262118 diff --git a/src/com/owncloud/android/providers/FileContentProvider.java b/src/com/owncloud/android/providers/FileContentProvider.java index 85d7cd1d..b50609a5 100644 --- a/src/com/owncloud/android/providers/FileContentProvider.java +++ b/src/com/owncloud/android/providers/FileContentProvider.java @@ -839,30 +839,31 @@ public class FileContentProvider extends ContentProvider { boolean upgradedResult = true; boolean upgraded = false; try { - // get accounts + // get accounts ALREADY UPDATED from AccountManager Account[] accounts = AccountManager.get(getContext()).getAccountsByType(MainApp.getAccountType()); + String serverUrl, username, oldAccountName; for (Account account : accounts) { // build new account name - String serverUrl = ama.getUserData(account, AccountUtils.Constants.KEY_OC_BASE_URL); - String username = account.name.substring(0, account.name.lastIndexOf('@')); - String newAccountName = AccountUtils.buildAccountName( - Uri.parse(serverUrl), username); + serverUrl = ama.getUserData(account, AccountUtils.Constants.KEY_OC_BASE_URL); + username = account.name.substring(0, account.name.lastIndexOf('@')); + oldAccountName = AccountUtils.buildAccountNameOld(Uri.parse(serverUrl), username); // update values in database db.beginTransaction(); try{ db.execSQL("UPDATE " + ProviderTableMeta.FILE_TABLE_NAME + " SET " + ProviderTableMeta.FILE_ACCOUNT_OWNER + " ='" + - newAccountName + "' " + + account.name + "' " + " WHERE " + ProviderTableMeta.FILE_ACCOUNT_OWNER + " ='" + - account.name + "' " ); + oldAccountName + "' " ); upgraded = true; db.setTransactionSuccessful(); + + Log_OC.i("SQL", "Updated account in database: old name == " + oldAccountName + + ", new name == " + account.name); + } catch (SQLException e){ upgraded = false; - Log_OC.i("SQL", "OUT of the UpdateAccountName in onUpgrade; account.name == " + - account.name + - ", newAccountName == " + newAccountName); } finally { db.endTransaction(); }