| Index: jni/JniFilterEngine.cpp |
| diff --git a/jni/JniFilterEngine.cpp b/jni/JniFilterEngine.cpp |
| index 557002b01fe56d2ba1a251d7ba31b7db9126a310..8bc372a373a7e4946c2d050d752a7ff99b8d563e 100644 |
| --- a/jni/JniFilterEngine.cpp |
| +++ b/jni/JniFilterEngine.cpp |
| @@ -118,6 +118,24 @@ static jobject JNICALL JniGetSubscription(JNIEnv* env, jclass clazz, jlong ptr, |
| CATCH_THROW_AND_RETURN(env, 0); |
| } |
| +static jobject JNICALL JniGetNotificationToShow(JNIEnv* env, jclass clazz, jlong ptr, jstring jUrl) |
| +{ |
| + AdblockPlus::FilterEngine* engine = JniLongToTypePtr<AdblockPlus::FilterEngine>(ptr); |
| + std::string url; |
| + if (jUrl) |
| + { |
| + url = JniJavaToStdString(env, jUrl); |
| + } |
| + |
| + try |
| + { |
| + AdblockPlus::NotificationPtr notification = engine->GetNextNotificationToShow(url); |
| + |
| + return NewJniNotification(env, notification); |
| + } |
| + CATCH_THROW_AND_RETURN(env, 0); |
| +} |
| + |
| static jobject JNICALL JniGetListedSubscriptions(JNIEnv* env, jclass clazz, jlong ptr) |
| { |
| AdblockPlus::FilterEngine* engine = JniLongToTypePtr<AdblockPlus::FilterEngine>(ptr); |
| @@ -340,6 +358,7 @@ static JNINativeMethod methods[] = |
| { (char*)"getFilter", (char*)"(JLjava/lang/String;)" TYP("Filter"), (void*)JniGetFilter }, |
| { (char*)"getListedFilters", (char*)"(J)Ljava/util/List;", (void*)JniGetListedFilters }, |
| { (char*)"getSubscription", (char*)"(JLjava/lang/String;)" TYP("Subscription"), (void*)JniGetSubscription }, |
| + { (char*)"getNotificationToShow", (char*)"(JLjava/lang/String;)" TYP("Notification"), (void*)JniGetNotificationToShow }, |
| { (char*)"getListedSubscriptions", (char*)"(J)Ljava/util/List;", (void*)JniGetListedSubscriptions }, |
| { (char*)"fetchAvailableSubscriptions", (char*)"(J)Ljava/util/List;", (void*)JniFetchAvailableSubscriptions }, |
| { (char*)"setUpdateAvailableCallback", (char*)"(JJ)V", (void*)JniSetUpdateAvailableCallback }, |