Fixed icon for text files
[pub/Android/ownCloud.git] / src / com / owncloud / android / providers / FileContentProvider.java
index 6605d89..e87d151 100644 (file)
@@ -62,6 +62,8 @@ public class FileContentProvider extends ContentProvider {
                 ProviderTableMeta.FILE_CREATION);\r
         mProjectionMap.put(ProviderTableMeta.FILE_MODIFIED,\r
                 ProviderTableMeta.FILE_MODIFIED);\r
                 ProviderTableMeta.FILE_CREATION);\r
         mProjectionMap.put(ProviderTableMeta.FILE_MODIFIED,\r
                 ProviderTableMeta.FILE_MODIFIED);\r
+        mProjectionMap.put(ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA,\r
+                ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA);\r
         mProjectionMap.put(ProviderTableMeta.FILE_CONTENT_LENGTH,\r
                 ProviderTableMeta.FILE_CONTENT_LENGTH);\r
         mProjectionMap.put(ProviderTableMeta.FILE_CONTENT_TYPE,\r
         mProjectionMap.put(ProviderTableMeta.FILE_CONTENT_LENGTH,\r
                 ProviderTableMeta.FILE_CONTENT_LENGTH);\r
         mProjectionMap.put(ProviderTableMeta.FILE_CONTENT_TYPE,\r
@@ -70,8 +72,12 @@ public class FileContentProvider extends ContentProvider {
                 ProviderTableMeta.FILE_STORAGE_PATH);\r
         mProjectionMap.put(ProviderTableMeta.FILE_LAST_SYNC_DATE,\r
                 ProviderTableMeta.FILE_LAST_SYNC_DATE);\r
                 ProviderTableMeta.FILE_STORAGE_PATH);\r
         mProjectionMap.put(ProviderTableMeta.FILE_LAST_SYNC_DATE,\r
                 ProviderTableMeta.FILE_LAST_SYNC_DATE);\r
+        mProjectionMap.put(ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA,\r
+                ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA);\r
         mProjectionMap.put(ProviderTableMeta.FILE_KEEP_IN_SYNC,\r
                 ProviderTableMeta.FILE_KEEP_IN_SYNC);\r
         mProjectionMap.put(ProviderTableMeta.FILE_KEEP_IN_SYNC,\r
                 ProviderTableMeta.FILE_KEEP_IN_SYNC);\r
+        mProjectionMap.put(ProviderTableMeta.FILE_ACCOUNT_OWNER,\r
+                ProviderTableMeta.FILE_ACCOUNT_OWNER);\r
     }\r
 \r
     private static final int SINGLE_FILE = 1;\r
     }\r
 \r
     private static final int SINGLE_FILE = 1;\r
@@ -219,18 +225,62 @@ public class FileContentProvider extends ContentProvider {
                     + ProviderTableMeta.FILE_STORAGE_PATH + " TEXT, "\r
                     + ProviderTableMeta.FILE_ACCOUNT_OWNER + " TEXT, "\r
                     + ProviderTableMeta.FILE_LAST_SYNC_DATE + " INTEGER, "\r
                     + ProviderTableMeta.FILE_STORAGE_PATH + " TEXT, "\r
                     + ProviderTableMeta.FILE_ACCOUNT_OWNER + " TEXT, "\r
                     + ProviderTableMeta.FILE_LAST_SYNC_DATE + " INTEGER, "\r
-                    + ProviderTableMeta.FILE_KEEP_IN_SYNC + " INTEGER );");\r
+                    + ProviderTableMeta.FILE_KEEP_IN_SYNC + " INTEGER, "\r
+                    + ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA + " INTEGER, "\r
+                    + ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA + " INTEGER );"\r
+                    );\r
         }\r
 \r
         @Override\r
         public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {\r
             Log.i("SQL", "Entering in onUpgrade");\r
         }\r
 \r
         @Override\r
         public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {\r
             Log.i("SQL", "Entering in onUpgrade");\r
+            boolean upgraded = false; \r
             if (oldVersion == 1 && newVersion >= 2) {\r
             if (oldVersion == 1 && newVersion >= 2) {\r
-                Log.i("SQL", "Entering in the ADD in onUpgrade");\r
+                Log.i("SQL", "Entering in the #1 ADD in onUpgrade");\r
                 db.execSQL("ALTER TABLE " + ProviderTableMeta.DB_NAME +\r
                            " ADD COLUMN " + ProviderTableMeta.FILE_KEEP_IN_SYNC  + " INTEGER " +\r
                            " DEFAULT 0");\r
                 db.execSQL("ALTER TABLE " + ProviderTableMeta.DB_NAME +\r
                            " ADD COLUMN " + ProviderTableMeta.FILE_KEEP_IN_SYNC  + " INTEGER " +\r
                            " DEFAULT 0");\r
-            } else Log.i("SQL", "OUT of the ADD in onUpgrade; oldVersion == " + oldVersion + ", newVersion == " + newVersion);\r
+                upgraded = true;\r
+            }\r
+            if (oldVersion < 3 && newVersion >= 3) {\r
+                Log.i("SQL", "Entering in the #2 ADD in onUpgrade");\r
+                db.beginTransaction();\r
+                try {\r
+                    db.execSQL("ALTER TABLE " + ProviderTableMeta.DB_NAME +\r
+                               " ADD COLUMN " + ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA  + " INTEGER " +\r
+                               " DEFAULT 0");\r
+                    \r
+                    // assume there are not local changes pending to upload\r
+                    db.execSQL("UPDATE " + ProviderTableMeta.DB_NAME + \r
+                            " SET " + ProviderTableMeta.FILE_LAST_SYNC_DATE_FOR_DATA + " = " + System.currentTimeMillis() + \r
+                            " WHERE " + ProviderTableMeta.FILE_STORAGE_PATH + " IS NOT NULL");\r
+                 \r
+                    upgraded = true;\r
+                    db.setTransactionSuccessful();\r
+                } finally {\r
+                    db.endTransaction();\r
+                }\r
+            }\r
+            if (oldVersion < 4 && newVersion >= 4) {\r
+                Log.i("SQL", "Entering in the #3 ADD in onUpgrade");\r
+                db.beginTransaction();\r
+                try {\r
+                    db .execSQL("ALTER TABLE " + ProviderTableMeta.DB_NAME +\r
+                           " ADD COLUMN " + ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA  + " INTEGER " +\r
+                           " DEFAULT 0");\r
+                \r
+                    db.execSQL("UPDATE " + ProviderTableMeta.DB_NAME + \r
+                           " SET " + ProviderTableMeta.FILE_MODIFIED_AT_LAST_SYNC_FOR_DATA + " = " + ProviderTableMeta.FILE_MODIFIED + \r
+                           " WHERE " + ProviderTableMeta.FILE_STORAGE_PATH + " IS NOT NULL");\r
+                \r
+                    upgraded = true;\r
+                    db.setTransactionSuccessful();\r
+                } finally {\r
+                    db.endTransaction();\r
+                }\r
+            }\r
+            if (!upgraded)\r
+                Log.i("SQL", "OUT of the ADD in onUpgrade; oldVersion == " + oldVersion + ", newVersion == " + newVersion);\r
         }\r
 \r
     }\r
         }\r
 \r
     }\r