public void updateAtauInsertStabilo(int ariKp, IntArrayList ayatTerpilih, int warnaRgb) { SQLiteDatabase db = helper.getWritableDatabase(); String[] params = {null /* buat ari */, String.valueOf(Db.Bukmak2.jenis_stabilo)}; db.beginTransaction(); try { // setiap ayat yang diminta for (int i = 0; i < ayatTerpilih.size(); i++) { int ayat_1 = ayatTerpilih.get(i); int ari = Ari.encodeWithKp(ariKp, ayat_1); params[0] = String.valueOf(ari); Cursor c = db.query( Db.TABEL_Bukmak2, null, Db.Bukmak2.ari + "=? and " + Db.Bukmak2.jenis + "=?", params, null, null, null); //$NON-NLS-1$ //$NON-NLS-2$ try { if (c.moveToNext()) { // cek dulu ada ato ga // sudah ada! Bookmark2 bukmak = Bookmark2.dariCursor(c); bukmak.waktuUbah = new Date(); if (warnaRgb != -1) { bukmak.tulisan = U.encodeHighlight(warnaRgb); db.update( Db.TABEL_Bukmak2, bukmak.toContentValues(), "_id=?", new String[] {String.valueOf(bukmak._id)}); // $NON-NLS-1$ } else { // delete db.delete( Db.TABEL_Bukmak2, "_id=?", new String[] {String.valueOf(bukmak._id)}); // $NON-NLS-1$ } } else { // belum ada! if (warnaRgb == -1) { // ga usa ngapa2in, dari belum ada jadi tetep ga ada } else { Date kini = new Date(); Bookmark2 bukmak = new Bookmark2( ari, Db.Bukmak2.jenis_stabilo, U.encodeHighlight(warnaRgb), kini, kini); db.insert(Db.TABEL_Bukmak2, null, bukmak.toContentValues()); } } } finally { c.close(); } } db.setTransactionSuccessful(); } finally { db.endTransaction(); } }