1// Copyright 2014 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5package org.chromium.chrome.browser; 6 7import org.chromium.base.JNINamespace; 8import org.chromium.components.bookmarks.BookmarkId; 9 10/** 11 * Access gate to C++ side enhanced bookmarks functionalities. 12 */ 13@JNINamespace("enhanced_bookmarks::android") 14public final class EnhancedBookmarksBridge { 15 private long mNativeEnhancedBookmarksBridge; 16 17 public EnhancedBookmarksBridge(long nativeBookmarkModel) { 18 mNativeEnhancedBookmarksBridge = nativeInit(nativeBookmarkModel); 19 } 20 21 public void destroy() { 22 assert mNativeEnhancedBookmarksBridge != 0; 23 nativeDestroy(mNativeEnhancedBookmarksBridge); 24 mNativeEnhancedBookmarksBridge = 0; 25 } 26 27 public String getBookmarkDescription(BookmarkId id) { 28 return nativeGetBookmarkDescription(mNativeEnhancedBookmarksBridge, id.getId(), 29 id.getType()); 30 } 31 32 public void setBookmarkDescription(BookmarkId id, String description) { 33 nativeSetBookmarkDescription(mNativeEnhancedBookmarksBridge, id.getId(), id.getType(), 34 description); 35 } 36 37 private native long nativeInit(long bookmarkModelPointer); 38 39 private native void nativeDestroy(long nativeEnhancedBookmarksBridge); 40 41 private native String nativeGetBookmarkDescription(long nativeEnhancedBookmarksBridge, long id, 42 int type); 43 private native void nativeSetBookmarkDescription(long nativeEnhancedBookmarksBridge, long id, 44 int type, String description); 45} 46