本文整理匯總了Java中org.greenrobot.eventbus.ThreadMode.POSTING屬性的典型用法代碼示例。如果您正苦於以下問題:Java ThreadMode.POSTING屬性的具體用法?Java ThreadMode.POSTING怎麽用?Java ThreadMode.POSTING使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在類org.greenrobot.eventbus.ThreadMode
的用法示例。
在下文中一共展示了ThreadMode.POSTING屬性的6個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: writeCreateSubscriberMethods
private void writeCreateSubscriberMethods(BufferedWriter writer, List<ExecutableElement> methods,
String callPrefix, String myPackage) throws IOException {
for (ExecutableElement method : methods) {
List<? extends VariableElement> parameters = method.getParameters();
TypeMirror paramType = getParamTypeMirror(parameters.get(0), null);
TypeElement paramElement = (TypeElement) processingEnv.getTypeUtils().asElement(paramType);
String methodName = method.getSimpleName().toString();
String eventClass = getClassString(paramElement, myPackage) + ".class";
Subscribe subscribe = method.getAnnotation(Subscribe.class);
List<String> parts = new ArrayList<>();
parts.add(callPrefix + "(\"" + methodName + "\",");
String lineEnd = "),";
if (subscribe.priority() == 0 && !subscribe.sticky()) {
if (subscribe.threadMode() == ThreadMode.POSTING) {
parts.add(eventClass + lineEnd);
} else {
parts.add(eventClass + ",");
parts.add("ThreadMode." + subscribe.threadMode().name() + lineEnd);
}
} else {
parts.add(eventClass + ",");
parts.add("ThreadMode." + subscribe.threadMode().name() + ",");
parts.add(subscribe.priority() + ",");
parts.add(subscribe.sticky() + lineEnd);
}
writeLine(writer, 3, parts.toArray(new String[parts.size()]));
if (verbose) {
processingEnv.getMessager().printMessage(Diagnostic.Kind.NOTE, "Indexed @Subscribe at " +
method.getEnclosingElement().getSimpleName() + "." + methodName +
"(" + paramElement.getSimpleName() + ")");
}
}
}
示例2: onCallEvent
@Subscribe(threadMode = ThreadMode.POSTING)
public void onCallEvent(CallTaskEvent e) {
if (e.getState() == CallTaskEvent.STATE_START) {
inCallTask.set(true);
} else if (e.getState() == CallTaskEvent.STATE_END) {
inCallTask.set(false);
}
}
示例3: onInitNaviEvent
/**
* 初始化導航引擎
**/
@Subscribe(threadMode = ThreadMode.POSTING)
public void onInitNaviEvent(InitNaviManagerEvent e) {
Log.i(TAG, "NaviShowPointsEvent");
if (naviSuperManager == null)
naviSuperManager = new BaiduNaviSuperManager(this, new BaiduNaviManager.NaviInitListener() {
@Override
public void onAuthResult(int var1, String var2) {
}
@Override
public void initStart() {
Log.i(TAG, "initStart");
}
@Override
public void initSuccess() {
Log.i(TAG, "initSuccess");
BaiduNaviSuperManager.destory();
naviSuperManager = null;
}
@Override
public void initFailed() {
Log.i(TAG, "initFailed");
}
}, null, false);
}
示例4: subscribeOnPostThread2
/**
* 優先級較高的在Posting線程執行的消息
*/
@Subscribe(threadMode = ThreadMode.POSTING, priority = 2)
public void subscribeOnPostThread2(MessageEvent messageEvent) {
Log.d(TAG, "subscribeOnPostThread2: what = " + messageEvent.what + "; msg = " + messageEvent.msg);
/*
事件通常是由高優先級用戶取消,低優先級的訂閱者將不在收到該事件。同一優先級的訂閱者取消時不會影響其他訂閱者
取消僅限於在處理方法運行在發送消息的線程中。
*/
// EventBus.getDefault().cancelEventDelivery(messageEvent);
}
示例5: SubscriberMethodInfo
public SubscriberMethodInfo(String methodName, Class<?> eventType) {
this(methodName, eventType, ThreadMode.POSTING, 0, false);
}
示例6: subscribeOnPostThread
@Subscribe(threadMode = ThreadMode.POSTING, priority = 1)
public void subscribeOnPostThread(MessageEvent messageEvent) {
Log.d(TAG, "subscribeOnPostThread: what = " + messageEvent.what + "; msg = " + messageEvent.msg);
}