예제 #1
0
        public static AppTask CreateFromBundle(Bundle b, AppTask failureReturn)
        {
            if (b == null)
            {
                return(failureReturn);
            }

            string taskType = b.GetString(AppTaskKey);

            if (string.IsNullOrEmpty(taskType))
            {
                return(failureReturn);
            }

            try
            {
                Type type = Type.GetType("keepass2android." + taskType);
                if (type == null)
                {
                    return(failureReturn);
                }
                AppTask task = (AppTask)Activator.CreateInstance(type);
                task.Setup(b);
                return(task);
            }
            catch (Exception e)
            {
                Kp2aLog.Log("Cannot convert " + taskType + " in task: " + e);
                return(failureReturn);
            }
        }