@@ -281,68 +281,6 @@ void NativePlatform::PassUncaughtExceptionToJsNative(JNIEnv *env, jobject obj, j
281281 }
282282}
283283
284- void NativePlatform::AppInitCallback (const v8::FunctionCallbackInfo<v8::Value>& args)
285- {
286- try
287- {
288- auto isolate = Isolate::GetCurrent ();
289-
290- if (args.Length () != 1 )
291- {
292- throw NativeScriptException (string (" Application should be initialized with single parameter" ));
293- }
294- if (!args[0 ]->IsObject ())
295- {
296- throw NativeScriptException (string (" Application should be initialized with single object parameter containing overridden methods" ));
297- }
298-
299- // TODO: find another way to get "com/tns/NativeScriptApplication" metadata (move it to more appropriate place)
300- auto node = MetadataNode::GetOrCreate (" com/tns/NativeScriptApplication" );
301- auto appInstance = g_objectManager->GetJsObjectByJavaObject (AppJavaObjectID);
302- if (appInstance.IsEmpty ())
303- {
304- appInstance = node->CreateJSWrapper (isolate);
305- }
306-
307- DEBUG_WRITE (" Application object created id: %d" , appInstance->GetIdentityHash ());
308-
309- auto implementationObject = args[0 ]->ToObject ();
310- implementationObject->SetHiddenValue (V8StringConstants::GetClassImplementationObject (), External::New (isolate, node));
311- DEBUG_WRITE (" Application object implementation object is with id: %d" , implementationObject->GetIdentityHash ());
312- implementationObject->SetPrototype (appInstance->GetPrototype ());
313- bool appSuccess = appInstance->SetPrototype (implementationObject);
314- if (!appSuccess)
315- {
316- throw NativeScriptException (string (" Application could not be initialized correctly" ));
317- }
318-
319- jweak applicationObject = g_objectManager->GetJavaObjectByID (AppJavaObjectID);
320-
321- JEnv env;
322- jclass appClass = env.FindClass (" com/tns/NativeScriptApplication" );
323- g_objectManager->Link (appInstance, AppJavaObjectID, appClass);
324-
325- JniLocalRef applicationClass (env.GetObjectClass (applicationObject));
326- jmethodID setNativeScriptOverridesMethodId = env.GetMethodID ((jclass) applicationClass, " setNativeScriptOverrides" , " ([Ljava/lang/String;)V" );
327- jobjectArray methodOverrides = NativeScriptRuntime::GetMethodOverrides (env, implementationObject);
328- env.CallVoidMethod (applicationObject, setNativeScriptOverridesMethodId, methodOverrides);
329- }
330- catch (NativeScriptException& e)
331- {
332- e.ReThrowToV8 ();
333- }
334- catch (std::exception e) {
335- stringstream ss;
336- ss << " Error: c++ exception: " << e.what () << endl;
337- NativeScriptException nsEx (ss.str ());
338- nsEx.ReThrowToV8 ();
339- }
340- catch (...) {
341- NativeScriptException nsEx (std::string (" Error: c++ exception!" ));
342- nsEx.ReThrowToV8 ();
343- }
344- }
345-
346284Isolate* NativePlatform::PrepareV8Runtime (JEnv& env, const string& filesPath, jstring packageName, jobject jsDebugger)
347285{
348286 Platform* platform = v8::platform::CreateDefaultPlatform ();
@@ -429,11 +367,6 @@ Isolate* NativePlatform::PrepareV8Runtime(JEnv& env, const string& filesPath, js
429367
430368 Module::Init (isolate);
431369
432- auto appTemplate = ObjectTemplate::New ();
433- appTemplate->Set (ConvertToV8String (" init" ), FunctionTemplate::New (isolate, AppInitCallback));
434- auto appInstance = appTemplate->NewInstance ();
435- global->ForceSet (ConvertToV8String (" app" ), appInstance, readOnlyFlags);
436-
437370 global->ForceSet (ConvertToV8String (" global" ), global, readOnlyFlags);
438371 global->ForceSet (ConvertToV8String (" __global" ), global, readOnlyFlags);
439372
0 commit comments