internal void WireupHandlers <TActivityController>(ControllerActivity <TActivityController> activity) where TActivityController : ActivityController { activity.OnStartHandler = OnStart; activity.OnCreateHandler = (p) => this.OnCreate(p); activity.OnActivityResultHandler = HandleOnActivityResult; activity.OnStopHandler = OnStop; activity.OnResumeHandler = OnResume; activity.OnPauseHandler = OnPause; activity.OnDestroyHandler = OnDestroy; activity.OnRestoreInstanceStateHandler = OnRestoreInstanceState; activity.OnSaveInstanceStateHandler = OnSaveInstanceState; activity.OnDestroyHandler = OnDestroy; activity.OnBackPressedHandler = OnBackPressed; activity.OnRestartHandler = OnRestart; activity.OnLowMemoryHandler = OnLowMemory; activity.OnPostResumeHandler = OnPostResume; activity.OnAttachedToWindowHandler = OnAttachedToWindow; activity.OnDetachedFromWindowHandler = OnDetachedFromWindow; activity.OnRequestPermissionsResultHandler = OnRequestPermissionsResult; activity.OnCreateContextMenuHandler = OnCreateContextMenu; activity.OnNewIntentHandler = OnNewIntent; }
internal static AssociatedActivityInfo <TController> Associate <TController>(string associatedActivityId, ControllerActivity <TController> activity) where TController : ActivityController { AssociatedActivityInfo <TController> info; if (associatedActivities.ContainsKey(associatedActivityId)) { info = (AssociatedActivityInfo <TController>)Get(associatedActivityId); } else { info = new AssociatedActivityInfo <TController> { Id = associatedActivityId, ControllerActivity = activity, AppCompatActivity = activity, }; associatedActivities.Add(info.Id, info); } if (info.ActivityController == null) { info.ActivityController = Activator.CreateInstance <TController>(); info.ActivityController.AssociatedActivityId = associatedActivityId; } info.ControllerActivity = activity; info.AppCompatActivity = activity; info.ActivityController.WireupHandlers(activity); return(info); }