当前位置: 首页>>代码示例>>Java>>正文


Java BinderThread类代码示例

本文整理汇总了Java中android.support.annotation.BinderThread的典型用法代码示例。如果您正苦于以下问题:Java BinderThread类的具体用法?Java BinderThread怎么用?Java BinderThread使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


BinderThread类属于android.support.annotation包,在下文中一共展示了BinderThread类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: loadBookmarks

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
private BookmarkFolder loadBookmarks(final BookmarkId folderId) {
    final LinkedBlockingQueue<BookmarkFolder> resultQueue = new LinkedBlockingQueue<>(1);
    //A reference of BookmarkLoader is needed in binder thread to
    //prevent it from being garbage collected.
    final BookmarkLoader bookmarkLoader = new BookmarkLoader();
    ThreadUtils.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            bookmarkLoader.initialize(mContext, folderId, new BookmarkLoaderCallback() {
                @Override
                public void onBookmarksLoaded(BookmarkFolder folder) {
                    resultQueue.add(folder);
                }
            });
        }
    });
    try {
        return resultQueue.take();
    } catch (InterruptedException e) {
        return null;
    }
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:24,代码来源:BookmarkWidgetService.java

示例2: getCount

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
@Override
public int getCount() {
    //On some Sony devices, getCount() could be called before onDatasetChanged()
    //returns. If it happens, refresh widget until the bookmarks are all loaded.
    if (mCurrentFolder == null || !mPreferences.getString(PREF_CURRENT_FOLDER, "")
            .equals(mCurrentFolder.folder.id.toString())) {
        ThreadUtils.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                refreshWidget();
            }
        });
    }
    if (mCurrentFolder == null) {
        return 0;
    }
    return mCurrentFolder.children.size() + (mCurrentFolder.parent != null ? 1 : 0);
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:20,代码来源:BookmarkWidgetService.java

示例3: getBookmarkForPosition

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
private Bookmark getBookmarkForPosition(int position) {
    if (mCurrentFolder == null) return null;

    // The position 0 is saved for an entry of the current folder used to go up.
    // This is not the case when the current node has no parent (it's the root node).
    if (mCurrentFolder.parent != null) {
        if (position == 0) return mCurrentFolder.folder;
        position--;
    }

    // This is necessary because when Chrome is cleared from Application settings, Bookmark
    // widget will not be notified and it causes inconsistency between model and widget.
    // Then if the widget is quickly scrolled down, this has an IndexOutOfBound error.
    if (mCurrentFolder.children.size() <= position) return null;

    return mCurrentFolder.children.get(position);
}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:19,代码来源:BookmarkWidgetService.java

示例4: onDestroy

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
@Override
public void onDestroy() {
    ThreadUtils.runOnUiThread(new Runnable() {
        @Override
        public void run() {
            if (mBookmarkModel != null) mBookmarkModel.destroy();
        }
    });
    deleteWidgetState(mContext, mWidgetId);
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:12,代码来源:BookmarkWidgetService.java

示例5: updateBookmarkList

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
private void updateBookmarkList() {
    BookmarkId folderId = BookmarkId
            .getBookmarkIdFromString(mPreferences.getString(PREF_CURRENT_FOLDER, null));
    mCurrentFolder = loadBookmarks(folderId);
    mPreferences.edit().putString(PREF_CURRENT_FOLDER, mCurrentFolder.folder.id.toString())
            .apply();
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:9,代码来源:BookmarkWidgetService.java

示例6: getBookmarkForPosition

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
private Bookmark getBookmarkForPosition(int position) {
    if (mCurrentFolder == null) return null;

    // The position 0 is saved for an entry of the current folder used to go up.
    // This is not the case when the current node has no parent (it's the root node).
    if (mCurrentFolder.parent != null) {
        if (position == 0) return mCurrentFolder.folder;
        position--;
    }
    return mCurrentFolder.children.get(position);
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:13,代码来源:BookmarkWidgetService.java

示例7: getItemId

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
@Override
public long getItemId(int position) {
    Bookmark bookmark = getBookmarkForPosition(position);
    if (bookmark == null) return BookmarkId.INVALID_FOLDER_ID;
    return bookmark.id.getId();
}
 
开发者ID:mogoweb,项目名称:365browser,代码行数:8,代码来源:BookmarkWidgetService.java

示例8: onButtonEvent

import android.support.annotation.BinderThread; //导入依赖的package包/类
@Override
@BinderThread
public void onButtonEvent(ButtonEvent event) throws RemoteException {
    synchronized (lockListener) {
        if (eventListenerThreadHandler != null) {
            eventListenerThreadHandler.post(new ButtonEventRunnable(event));

        }
    }
}
 
开发者ID:SUPENTA,项目名称:flitchio-sdk,代码行数:11,代码来源:FlitchioController.java

示例9: onJoystickEvent

import android.support.annotation.BinderThread; //导入依赖的package包/类
@Override
@BinderThread
public void onJoystickEvent(JoystickEvent event) throws RemoteException {
    // TODO link the chain of events in order to receive ButtonEvents for Dpad only if the
    // corresponding joystick has been ignored

    synchronized (lockListener) {
        if (eventListenerThreadHandler != null) {
            eventListenerThreadHandler.post(new JoystickEventRunnable(event));
        }
    }
}
 
开发者ID:SUPENTA,项目名称:flitchio-sdk,代码行数:13,代码来源:FlitchioController.java

示例10: onDataSetChanged

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
@Override
public void onDataSetChanged() {
    updateBookmarkList();
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:6,代码来源:BookmarkWidgetService.java

示例11: getViewTypeCount

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
@Override
public int getViewTypeCount() {
    return 2;
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:6,代码来源:BookmarkWidgetService.java

示例12: hasStableIds

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
@Override
public boolean hasStableIds() {
    return false;
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:6,代码来源:BookmarkWidgetService.java

示例13: getItemId

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
@Override
public long getItemId(int position) {
    return getBookmarkForPosition(position).id.getId();
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:6,代码来源:BookmarkWidgetService.java

示例14: getLoadingView

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
@Override
public RemoteViews getLoadingView() {
    return new RemoteViews(mContext.getPackageName(), R.layout.bookmark_widget_item);
}
 
开发者ID:rkshuai,项目名称:chromium-for-android-56-debug-video,代码行数:6,代码来源:BookmarkWidgetService.java

示例15: getViewAt

import android.support.annotation.BinderThread; //导入依赖的package包/类
@BinderThread
@Override
public RemoteViews getViewAt(int position) {
    if (mCurrentFolder == null) {
        Log.w(TAG, "No current folder data available.");
        return null;
    }

    Bookmark bookmark = getBookmarkForPosition(position);
    if (bookmark == null) {
        Log.w(TAG, "Couldn't get bookmark for position %d", position);
        return null;
    }

    String title = bookmark.title;
    String url = bookmark.url;
    BookmarkId id = (bookmark == mCurrentFolder.folder)
            ? mCurrentFolder.parent.id
            : bookmark.id;

    RemoteViews views = new RemoteViews(mContext.getPackageName(),
            R.layout.bookmark_widget_item);

    // Set the title of the bookmark. Use the url as a backup.
    views.setTextViewText(R.id.title, TextUtils.isEmpty(title) ? url : title);

    if (bookmark == mCurrentFolder.folder) {
        views.setImageViewResource(R.id.favicon, R.drawable.back_normal);
    } else if (bookmark.isFolder) {
        views.setImageViewResource(R.id.favicon, R.drawable.bookmark_folder);
    } else {
        views.setImageViewBitmap(R.id.favicon, bookmark.favicon);
    }

    Intent fillIn;
    if (bookmark.isFolder) {
        fillIn = new Intent(getChangeFolderAction(mContext))
                .putExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, mWidgetId)
                .putExtra(EXTRA_FOLDER_ID, id.toString());
    } else {
        fillIn = new Intent(Intent.ACTION_VIEW);
        if (!TextUtils.isEmpty(url)) {
            fillIn = fillIn.addCategory(Intent.CATEGORY_BROWSABLE)
                    .setData(Uri.parse(url));
        } else {
            fillIn = fillIn.addCategory(Intent.CATEGORY_LAUNCHER);
        }
    }
    views.setOnClickFillInIntent(R.id.list_item, fillIn);
    return views;
}
 
开发者ID:JackyAndroid,项目名称:AndroidChromium,代码行数:52,代码来源:BookmarkWidgetService.java


注:本文中的android.support.annotation.BinderThread类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。