@Override public CharSequence onCreateDescription() { if (remotePlugin == null) return super.onCreateDescription(); return remotePlugin.getCurrentPluginActivity().onCreateDescription(); }
@Override protected void onCreate(Bundle savedInstanceState) { Thread.setDefaultUncaughtExceptionHandler( new Thread.UncaughtExceptionHandler() { @Override public void uncaughtException(Thread thread, final Throwable ex) { LPluginBug bug = new LPluginBug(); bug.error = ex; bug.errorTime = System.currentTimeMillis(); bug.errorThread = thread; bug.errorPlugin = remotePlugin; bug.processId = android.os.Process.myPid(); LPluginBugManager.callAllBugListener(bug); } }); super.onCreate(savedInstanceState); final Bundle pluginMessage = getIntent().getExtras(); String pluginActivityName; String pluginDexPath; if (pluginMessage != null) { pluginActivityName = pluginMessage.getString( LPluginConfig.KEY_PLUGIN_ACT_NAME, LPluginConfig.DEF_PLUGIN_CLASS_NAME); pluginDexPath = pluginMessage.getString( LPluginConfig.KEY_PLUGIN_DEX_PATH, LPluginConfig.DEF_PLUGIN_DEX_PATH); } else { throw new PluginCreateFailedException("Please put the Plugin Path!"); } if (pluginDexPath == LPluginConfig.DEF_PLUGIN_DEX_PATH) { throw new PluginCreateFailedException("Please put the Plugin Path!"); } remotePlugin = loadPlugin(LActivityProxy.this, pluginDexPath); if (pluginActivityName != LPluginConfig.DEF_PLUGIN_CLASS_NAME) { remotePlugin.setTopActivityName(pluginActivityName); } fillPlugin(remotePlugin); // remotePlugin.from().debug(); PluginActivityControl control = new PluginActivityControl( LActivityProxy.this, remotePlugin.getCurrentPluginActivity(), remotePlugin.from().pluginApplication); remotePlugin.setControl(control); control.dispatchProxyToPlugin(); try { control.callOnCreate(savedInstanceState); LCallbackManager.callAllOnCreate(savedInstanceState); } catch (Exception e) { processError(e); } }
@Override public boolean onCreateThumbnail(Bitmap outBitmap, Canvas canvas) { if (remotePlugin == null) { return super.onCreateThumbnail(outBitmap, canvas); } return remotePlugin.getCurrentPluginActivity().onCreateThumbnail(outBitmap, canvas); }
@Override public boolean onKeyUp(int keyCode, KeyEvent event) { if (remotePlugin == null) { return super.onKeyUp(keyCode, event); } return remotePlugin.getCurrentPluginActivity().onKeyUp(keyCode, event); }
@Override public void onContentChanged() { super.onContentChanged(); if (remotePlugin == null) { return; } remotePlugin.getCurrentPluginActivity().onContentChanged(); }
@Override public void onAttachedToWindow() { super.onAttachedToWindow(); if (remotePlugin == null) { return; } remotePlugin.getCurrentPluginActivity().onAttachedToWindow(); }
@Override public void onPanelClosed(int featureId, Menu menu) { super.onPanelClosed(featureId, menu); if (remotePlugin == null) { return; } remotePlugin.getCurrentPluginActivity().onPanelClosed(featureId, menu); }
@Override public void onOptionsMenuClosed(Menu menu) { super.onOptionsMenuClosed(menu); if (remotePlugin == null) { return; } remotePlugin.getCurrentPluginActivity().onOptionsMenuClosed(menu); }
@Override public void onAttachFragment(Fragment fragment) { super.onAttachFragment(fragment); if (remotePlugin == null) { return; } remotePlugin.getCurrentPluginActivity().onAttachFragment(fragment); }
@Override public boolean onGenericMotionEvent(MotionEvent event) { if (remotePlugin == null) return super.onGenericMotionEvent(event); return remotePlugin.getCurrentPluginActivity().onGenericMotionEvent(event); }
@Override public View onCreatePanelView(int featureId) { if (remotePlugin == null) return super.onCreatePanelView(featureId); return remotePlugin.getCurrentPluginActivity().onCreatePanelView(featureId); }