diff options
Diffstat (limited to 'src/org/cyanogenmod/themes/provider/ThemesProvider.java')
-rw-r--r-- | src/org/cyanogenmod/themes/provider/ThemesProvider.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/org/cyanogenmod/themes/provider/ThemesProvider.java b/src/org/cyanogenmod/themes/provider/ThemesProvider.java index 966a18f..ed9025c 100644 --- a/src/org/cyanogenmod/themes/provider/ThemesProvider.java +++ b/src/org/cyanogenmod/themes/provider/ThemesProvider.java @@ -305,6 +305,17 @@ public class ThemesProvider extends ContentProvider { getContext().getContentResolver().notifyChange(uri, null); break; case MIXNMATCH: + // Make the current value the previous value + String prevValue = ProviderUtils.getCurrentThemeForComponent(getContext(), + selection, selectionArgs); + String newValue = values.getAsString(MixnMatchColumns.COL_VALUE); + if (prevValue != null && + prevValue.equals(newValue)) { + // Component re-applied? Most likely so remove the update time + values.remove(MixnMatchColumns.COL_UPDATE_TIME); + } else if (prevValue != null) { + values.put(MixnMatchColumns.COL_PREV_VALUE, prevValue); + } rowsUpdated = sqlDB.update(MixnMatchTable.TABLE_NAME, values, selection, selectionArgs); getContext().getContentResolver().notifyChange(uri, null); break; |