Merge "Fix Browser when running on a platform without webview" into klp-modular-dev
This commit is contained in:
@ -25,6 +25,7 @@ import android.database.Cursor;
|
|||||||
import android.database.DatabaseUtils;
|
import android.database.DatabaseUtils;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
import android.os.Build;
|
||||||
import android.provider.BrowserContract.Bookmarks;
|
import android.provider.BrowserContract.Bookmarks;
|
||||||
import android.provider.BrowserContract.Combined;
|
import android.provider.BrowserContract.Combined;
|
||||||
import android.provider.BrowserContract.History;
|
import android.provider.BrowserContract.History;
|
||||||
@ -404,12 +405,17 @@ public class Browser {
|
|||||||
null, null, History.DATE_LAST_VISITED + " ASC");
|
null, null, History.DATE_LAST_VISITED + " ASC");
|
||||||
|
|
||||||
if (cursor.moveToFirst() && cursor.getCount() >= MAX_HISTORY_COUNT) {
|
if (cursor.moveToFirst() && cursor.getCount() >= MAX_HISTORY_COUNT) {
|
||||||
final WebIconDatabase iconDb = WebIconDatabase.getInstance();
|
WebIconDatabase iconDb = null;
|
||||||
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
|
||||||
|
iconDb = WebIconDatabase.getInstance();
|
||||||
|
}
|
||||||
/* eliminate oldest history items */
|
/* eliminate oldest history items */
|
||||||
for (int i = 0; i < TRUNCATE_N_OLDEST; i++) {
|
for (int i = 0; i < TRUNCATE_N_OLDEST; i++) {
|
||||||
cr.delete(ContentUris.withAppendedId(History.CONTENT_URI, cursor.getLong(0)),
|
cr.delete(ContentUris.withAppendedId(History.CONTENT_URI, cursor.getLong(0)),
|
||||||
null, null);
|
null, null);
|
||||||
iconDb.releaseIconForPageUrl(cursor.getString(1));
|
if (iconDb != null) {
|
||||||
|
iconDb.releaseIconForPageUrl(cursor.getString(1));
|
||||||
|
}
|
||||||
if (!cursor.moveToNext()) break;
|
if (!cursor.moveToNext()) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -469,11 +475,16 @@ public class Browser {
|
|||||||
cursor = cr.query(History.CONTENT_URI, new String[] { History.URL }, whereClause,
|
cursor = cr.query(History.CONTENT_URI, new String[] { History.URL }, whereClause,
|
||||||
null, null);
|
null, null);
|
||||||
if (cursor.moveToFirst()) {
|
if (cursor.moveToFirst()) {
|
||||||
final WebIconDatabase iconDb = WebIconDatabase.getInstance();
|
WebIconDatabase iconDb = null;
|
||||||
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
|
||||||
|
iconDb = WebIconDatabase.getInstance();
|
||||||
|
}
|
||||||
do {
|
do {
|
||||||
// Delete favicons
|
// Delete favicons
|
||||||
// TODO don't release if the URL is bookmarked
|
// TODO don't release if the URL is bookmarked
|
||||||
iconDb.releaseIconForPageUrl(cursor.getString(0));
|
if (iconDb != null) {
|
||||||
|
iconDb.releaseIconForPageUrl(cursor.getString(0));
|
||||||
|
}
|
||||||
} while (cursor.moveToNext());
|
} while (cursor.moveToNext());
|
||||||
|
|
||||||
cr.delete(History.CONTENT_URI, whereClause, null);
|
cr.delete(History.CONTENT_URI, whereClause, null);
|
||||||
@ -568,7 +579,9 @@ public class Browser {
|
|||||||
*/
|
*/
|
||||||
public static final void requestAllIcons(ContentResolver cr, String where,
|
public static final void requestAllIcons(ContentResolver cr, String where,
|
||||||
WebIconDatabase.IconListener listener) {
|
WebIconDatabase.IconListener listener) {
|
||||||
WebIconDatabase.getInstance().bulkRequestIconForPageUrl(cr, where, listener);
|
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) {
|
||||||
|
WebIconDatabase.getInstance().bulkRequestIconForPageUrl(cr, where, listener);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user