78  {
   79    
   80    SQLiteDatabase db = getWritableDatabase();
   81    db.beginTransaction();
   82 
   83    long rowid;
   84    ContentValues values = new ContentValues();
   85    values.put(BookmarkDB.DB_KEY_BOOKMARK_LABEL, bookmark.getLabel());
   86    values.put(BookmarkDB.DB_KEY_BOOKMARK_USERNAME, bookmark.getUsername());
   87    values.put(BookmarkDB.DB_KEY_BOOKMARK_PASSWORD, bookmark.getPassword());
   88    values.put(BookmarkDB.DB_KEY_BOOKMARK_DOMAIN, bookmark.getDomain());
   89    
   90    rowid = insertScreenSettings(db, bookmark.getScreenSettings());
   91    values.put(BookmarkDB.DB_KEY_SCREEN_SETTINGS, rowid);
   92    rowid = insertPerformanceFlags(db, bookmark.getPerformanceFlags());
   93    values.put(BookmarkDB.DB_KEY_PERFORMANCE_FLAGS, rowid);
   94 
   95    
   96    values.put(BookmarkDB.DB_KEY_BOOKMARK_3G_ENABLE,
   97               bookmark.getAdvancedSettings().getEnable3GSettings());
   98    
   99    rowid = insertScreenSettings(db, bookmark.getAdvancedSettings().getScreen3G());
  100    values.put(BookmarkDB.DB_KEY_SCREEN_SETTINGS_3G, rowid);
  101    rowid = insertPerformanceFlags(db, bookmark.getAdvancedSettings().getPerformance3G());
  102    values.put(BookmarkDB.DB_KEY_PERFORMANCE_FLAGS_3G, rowid);
  103    values.put(BookmarkDB.DB_KEY_BOOKMARK_REDIRECT_SDCARD,
  104               bookmark.getAdvancedSettings().getRedirectSDCard());
  105    values.put(BookmarkDB.DB_KEY_BOOKMARK_REDIRECT_SOUND,
  106               bookmark.getAdvancedSettings().getRedirectSound());
  107    values.put(BookmarkDB.DB_KEY_BOOKMARK_REDIRECT_MICROPHONE,
  108               bookmark.getAdvancedSettings().getRedirectMicrophone());
  109    values.put(BookmarkDB.DB_KEY_BOOKMARK_SECURITY,
  110               bookmark.getAdvancedSettings().getSecurity());
  111    values.put(BookmarkDB.DB_KEY_BOOKMARK_CONSOLE_MODE,
  112               bookmark.getAdvancedSettings().getConsoleMode());
  113    values.put(BookmarkDB.DB_KEY_BOOKMARK_REMOTE_PROGRAM,
  114               bookmark.getAdvancedSettings().getRemoteProgram());
  115    values.put(BookmarkDB.DB_KEY_BOOKMARK_WORK_DIR,
  116               bookmark.getAdvancedSettings().getWorkDir());
  117 
  118    values.put(BookmarkDB.DB_KEY_BOOKMARK_ASYNC_CHANNEL,
  119               bookmark.getDebugSettings().getAsyncChannel());
  120    values.put(BookmarkDB.DB_KEY_BOOKMARK_ASYNC_UPDATE,
  121               bookmark.getDebugSettings().getAsyncUpdate());
  122    values.put(BookmarkDB.DB_KEY_BOOKMARK_DEBUG_LEVEL,
  123               bookmark.getDebugSettings().getDebugLevel());
  124 
  125    
  126    addBookmarkSpecificColumns(bookmark, values);
  127 
  128    
  129    db.insertOrThrow(getBookmarkTableName(), null, values);
  130    db.setTransactionSuccessful();
  131    db.endTransaction();
  132  }