package com.android.mms.transaction; import com.android.mms.transaction.OtaConfigVO.OtaBookMark; import android.content.ContentResolver; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.provider.Browser; import android.util.Log; import java.util.Date; public class BookmarkSetting { private static final String TAG = "MMS.BookmarkSetting"; public void setBookmark(Context context, OtaConfigVO data) { ContentValues contentValues = new ContentValues(); Cursor cursor = null; ContentResolver cr = context.getContentResolver(); for (OtaBookMark bookmark : data.bmList) { //this method will show a dialog. //Browser.saveBookmark(context, bookmark.bmName, bookmark.bmUrl); long creationTime = new Date().getTime(); try { cursor = Browser.getVisitedLike(context.getContentResolver(), bookmark.bmUrl); if (cursor.moveToFirst() && cursor.getInt(Browser.HISTORY_PROJECTION_BOOKMARK_INDEX) == 0) { contentValues.put(Browser.BookmarkColumns.CREATED, creationTime); contentValues.put(Browser.BookmarkColumns.TITLE, bookmark.bmName); contentValues.put(Browser.BookmarkColumns.BOOKMARK, 1); cr.update(Browser.BOOKMARKS_URI, contentValues, "_id = " + cursor.getInt(0), null); } else { int count = cursor.getCount(); boolean matchedTitle = false; for (int i = 0; i < count; i++) { cursor.moveToPosition(i); if (cursor.getString(Browser.HISTORY_PROJECTION_TITLE_INDEX).equals( bookmark.bmName)) { contentValues.put(Browser.BookmarkColumns.CREATED, creationTime); cr.update(Browser.BOOKMARKS_URI, contentValues, "_id = " + cursor.getInt(0), null); matchedTitle = true; break; } } if (!matchedTitle) { contentValues.put(Browser.BookmarkColumns.TITLE, bookmark.bmName); contentValues.put(Browser.BookmarkColumns.URL, bookmark.bmUrl); contentValues.put(Browser.BookmarkColumns.CREATED, creationTime); contentValues.put(Browser.BookmarkColumns.BOOKMARK, 1); contentValues.put(Browser.BookmarkColumns.DATE, 0); int visits = 0; if (count > 0) { visits = cursor.getInt(Browser.HISTORY_PROJECTION_VISITS_INDEX); } contentValues.put(Browser.BookmarkColumns.VISITS, visits + 3); cr.insert(Browser.BOOKMARKS_URI, contentValues); } } } catch (Exception e) { Log.e(TAG, "add setting error", e); } finally { if (cursor != null) cursor.close(); } } if (context != null) { // Toast.makeText(context, R.string.added_to_bookmarks, Toast.LENGTH_LONG).show(); } } }