OSDN Git Service

Avoid db exception on L and above
authorAdam Cohen <adamcohen@google.com>
Thu, 4 Dec 2014 18:34:57 +0000 (10:34 -0800)
committerAdam Cohen <adamcohen@google.com>
Thu, 4 Dec 2014 18:35:52 +0000 (10:35 -0800)
Bug 18554839

Change-Id: I43f391b7cc376f697ce7b5b363e8be3aa85814b5

src/com/android/launcher3/WidgetPreviewLoader.java

index c3c0649..4e6fe1f 100644 (file)
@@ -166,21 +166,19 @@ public class WidgetPreviewLoader {
                 LauncherAppState.getSharedPreferencesKey(), Context.MODE_PRIVATE);
         final String lastVersionName = sp.getString(ANDROID_INCREMENTAL_VERSION_NAME_KEY, null);
         final String versionName = android.os.Build.VERSION.INCREMENTAL;
-        final boolean isLollipop = Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP;
+        final boolean isLollipopOrGreater = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
         if (!versionName.equals(lastVersionName)) {
             try {
                 // clear all the previews whenever the system version changes, to ensure that
                 // previews are up-to-date for any apps that might have been updated with the system
                 clearDb();
             } catch (SQLiteReadOnlyDatabaseException e) {
-                if (isLollipop) {
+                if (isLollipopOrGreater) {
                     // Workaround for Bug. 18554839, if we fail to clear the db due to the read-only
                     // issue, then ignore this error and leave the old previews
                 } else {
                     throw e;
                 }
-            } catch (Exception e) {
-                throw e;
             } finally {
                 SharedPreferences.Editor editor = sp.edit();
                 editor.putString(ANDROID_INCREMENTAL_VERSION_NAME_KEY, versionName);