示例#1
0
JniGuiController::JniGuiController(JavaVM * pJM, jobject callbacks)
:
	mpJM(pJM),
	mjCallbacks(callbacks),
	mLogger(Logger::getInstance("iviLink.samples.Media.CAndroidGuiControllerImpl")),
	hasRequestedLock(false)
{
	LOG4CPLUS_TRACE_METHOD(mLogger, __PRETTY_FUNCTION__);
	assert(mpJM);
	iviLink::Android::JniThreadHelper jth(mpJM);
	JNIEnv * env = jth.getEnv();
	jclass claz = env->GetObjectClass(mjCallbacks);
	midSetSyncState = env->GetMethodID(claz, "setSyncState", "(Z)V");
	assert(midSetSyncState != NULL);
	midSetToggleState = env->GetMethodID(claz, "setToggleState", "(Z)V");
	assert(midSetToggleState != NULL);
	midShowPauseButton = env->GetMethodID(claz, "pauseVisible", "()V");
	assert(midShowPauseButton != NULL);
	midShowPlayButton = env->GetMethodID(claz, "playVisible", "()V");
	assert(midShowPlayButton != NULL);
	midClearList = env->GetMethodID(claz, "clearPlayList", "()V");
	assert(midClearList != NULL);
	midPopulateList = env->GetMethodID(claz, "populateList", "(Ljava/lang/String;ZZ)V");
	assert(midPopulateList != NULL);
	midHighlightPosition = env->GetMethodID(claz, "setSelectedPosition", "(I)V");
	assert(midHighlightPosition != NULL);

	midShowPlayIcon  = env->GetMethodID(claz, "showPlayIcon", "()V");
	midShowPauseIcon  = env->GetMethodID(claz, "showPauseIcon", "()V");
	midHideIcon   = env->GetMethodID(claz, "showNoIcon", "()V");
	midHighlightToggle   = env->GetMethodID(claz, "highlightToggle", "()V");

	midUnlockGUI = env->GetMethodID(claz, "unlockGUI", "()V");
	midLockGUI = env->GetMethodID(claz, "lockGUI", "()V");
}
示例#2
0
void JniGuiController::playlistPopulate(const std::string& songName, const bool isLocal, const bool isAudio)
{
	iviLink::Android::JniThreadHelper jth(mpJM);
	JNIEnv * env = jth.getEnv();
	jstring param = iviLink::Android::StringConversion::stdToJ(songName, env);
	env->CallVoidMethod(mjCallbacks, midPopulateList, param, isLocal, isAudio);
}
示例#3
0
void CAppImplementation::onPhysicalLinkDown()
{
    LOG4CPLUS_TRACE_METHOD(mLog, __PRETTY_FUNCTION__);
    iviLink::Android::JniThreadHelper jth(mAppInfo.javaVM);
    JNIEnv* env = jth.getEnv();
    env->CallVoidMethod(mjAppJava, midLinkDown);
}
示例#4
0
void CScreenSharingViewer::dataReceived(const std::string &data)
{
   JNIEnv *env;
   iviLink::Android::JniThreadHelper jth(mpJM);
   env = jth.getEnv();
   env->CallVoidMethod(jCallbacks, jOnDataReceived, iviLink::Android::StringConversion::stdToJ(data, env) );
}
示例#5
0
void CAppImplementation::callStringVoidMethod(const std::string& param, jmethodID methodID)
{
    LOG4CPLUS_TRACE_METHOD(mLog, __PRETTY_FUNCTION__);
    iviLink::Android::JniThreadHelper jth(mAppInfo.javaVM);
    JNIEnv* env = jth.getEnv();
    jstring jParam = iviLink::Android::StringConversion::stdToJ(param, env);
    env->CallVoidMethod(mjAppJava, methodID, jParam);
}
示例#6
0
void CAppImplementation::onInitDone(iviLink::ELaunchInfo launcher)
{
    LOG4CPLUS_TRACE_METHOD(mLog, __PRETTY_FUNCTION__);
    iviLink::Android::JniThreadHelper jth(mAppInfo.javaVM);
    JNIEnv* env = jth.getEnv();
    bool launchResult = (launcher == iviLink::LAUNCHED_BY_USER);
    env->CallVoidMethod(mjAppJava, midInitDone, static_cast<jboolean>(launchResult));
}
示例#7
0
void AndroidMediaSource::startVlcServer(const int pipeFds)
{
   LOG4CPLUS_TRACE_METHOD(mLogger, __PRETTY_FUNCTION__);
   iviLink::Android::JniThreadHelper jth(mpJM);
   JNIEnv * env = jth.getEnv();
   jclass claz = env->GetObjectClass(mjCallbacks);
   
   jmethodID launchVlcServer = env->GetMethodID(claz, "startVlcServer", "(I)Z");
   env->CallBooleanMethod(mjCallbacks,launchVlcServer, static_cast<jint>(pipeFds));
}
示例#8
0
CAppImplementation::CAppImplementation(iviLink::Android::AppInfo appInfo,
        const iviLink::Service::ListOfUids &services, jobject appExternal) :
        Application(services, appInfo), mjAppJava(appExternal), mAppInfo(appInfo), mLog(
                Logger::getInstance("CAppImplementation"))
{
    LOG4CPLUS_TRACE_METHOD(mLog, __PRETTY_FUNCTION__);
    iviLink::Android::JniThreadHelper jth(mAppInfo.javaVM);
    JNIEnv* env = jth.getEnv();
    jclass claz = env->GetObjectClass(mjAppJava);
    midInitDone = env->GetMethodID(claz, "initDone", "(Z)V");
    midIncomingServiceBeforeLoading = env->GetMethodID(claz, "incomingServiceBeforeLoading",
            "(Ljava/lang/String;)V");
    midIncomingServiceAfterLoading = env->GetMethodID(claz, "incomingServiceAfterLoading",
            "(Ljava/lang/String;)V");
    midServiceDropped = env->GetMethodID(claz, "serviceDropped", "(Ljava/lang/String;)V");
    midServiceLoadError = env->GetMethodID(claz, "serviceLoadError", "(Ljava/lang/String;)V");
    midLinkUp = env->GetMethodID(claz, "connectionEstablished", "()V");
    midLinkDown = env->GetMethodID(claz, "connectionLost", "()V");
}
示例#9
0
void CScreenSharingViewer::sendData(const jstring &data)
{
   LOG4CPLUS_TRACE_METHOD(msLogger, __PRETTY_FUNCTION__);

   JNIEnv *env;
   iviLink::Android::JniThreadHelper jth(mpJM);
   env = jth.getEnv();
   std::string outData = iviLink::Android::StringConversion::jToStd(data, env);
   LOG4CPLUS_INFO(msLogger, "CScreenSharingViewer::sendData() : sending data : " + outData);
   if (isServiceAlive)
   {
      if (mpViewerProfileProxy)
      {
         mpViewerProfileProxy->sendData(outData);
         LOG4CPLUS_INFO(msLogger, "CScreenSharingViewer::sendData() : data is sent : " + outData);
      }
      else
         LOG4CPLUS_WARN(msLogger, "CScreenSharingViewer::sendData() : send attempt with invalid ProfileProxy ptr");
   }
   else
      LOG4CPLUS_WARN(msLogger, "CScreenSharingViewer::sendData() : send attempt with !isServiceAlive");
}
示例#10
0
void JniGuiController::callBoolVoidJavaMethod(jmethodID mid, bool param)
{
	iviLink::Android::JniThreadHelper jth(mpJM);
	JNIEnv * env = jth.getEnv();
	env->CallVoidMethod(mjCallbacks, mid, static_cast<jboolean>(param));
}
示例#11
0
void JniGuiController::callVoidVoidJavaMethod(jmethodID mid)
{
	iviLink::Android::JniThreadHelper jth(mpJM);
	JNIEnv * env = jth.getEnv();
	env->CallVoidMethod(mjCallbacks, mid);
}
示例#12
0
void JniGuiController::playlistPosChanged(int position)
{
	iviLink::Android::JniThreadHelper jth(mpJM);
	JNIEnv * env = jth.getEnv();
	env->CallVoidMethod(mjCallbacks, midHighlightPosition, static_cast<jint>(position));
}