Merge "Ignoring specific db exception to workaround Bug. 18554839." into ub-now-queens
This commit is contained in:
@@ -12,6 +12,7 @@ import android.database.sqlite.SQLiteCantOpenDatabaseException;
|
||||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.database.sqlite.SQLiteDiskIOException;
|
||||
import android.database.sqlite.SQLiteOpenHelper;
|
||||
import android.database.sqlite.SQLiteReadOnlyDatabaseException;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Bitmap.Config;
|
||||
import android.graphics.BitmapFactory;
|
||||
@@ -26,8 +27,8 @@ import android.graphics.Shader;
|
||||
import android.graphics.drawable.BitmapDrawable;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Build;
|
||||
import android.util.Log;
|
||||
|
||||
import com.android.launcher3.compat.AppWidgetManagerCompat;
|
||||
|
||||
import java.io.ByteArrayOutputStream;
|
||||
@@ -165,14 +166,26 @@ 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;
|
||||
if (!versionName.equals(lastVersionName)) {
|
||||
// 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();
|
||||
|
||||
SharedPreferences.Editor editor = sp.edit();
|
||||
editor.putString(ANDROID_INCREMENTAL_VERSION_NAME_KEY, versionName);
|
||||
editor.commit();
|
||||
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) {
|
||||
// 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);
|
||||
editor.commit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user