private static void InternalEventCallback(string packageType, string packageId, Interop.PackageManager.EventType eventType, Interop.PackageManager.PackageEventState eventState, int progress, Interop.PackageManager.ErrorCode error, IntPtr user_data)
{
+ PackageManagerEventArgs args;
try
{
+ args = new PackageManagerEventArgs(packageType, packageId, (PackageEventState)eventState, progress);
+ }
+ catch (Exception e)
+ {
+ Log.Warn(LogTag, e.Message);
+ return;
+ }
+
+ EventHandler<PackageManagerEventArgs> handlers = null;
+ lock (s_pkgEventLock)
+ {
if (eventType == Interop.PackageManager.EventType.Install)
{
- s_installEventHandler?.Invoke(null, new PackageManagerEventArgs(packageType, packageId, (PackageEventState)eventState, progress));
+ handlers = s_installEventHandler;
}
else if (eventType == Interop.PackageManager.EventType.Uninstall)
{
- s_uninstallEventHandler?.Invoke(null, new PackageManagerEventArgs(packageType, packageId, (PackageEventState)eventState, progress));
+ handlers = s_uninstallEventHandler;
}
else if (eventType == Interop.PackageManager.EventType.Update)
{
- s_updateEventHandler?.Invoke(null, new PackageManagerEventArgs(packageType, packageId, (PackageEventState)eventState, progress));
+ handlers = s_updateEventHandler;
}
else if (eventType == Interop.PackageManager.EventType.Move)
{
- s_moveEventHandler?.Invoke(null, new PackageManagerEventArgs(packageType, packageId, (PackageEventState)eventState, progress));
+ handlers = s_moveEventHandler;
}
else if (eventType == Interop.PackageManager.EventType.ClearData)
{
- s_clearDataEventHandler?.Invoke(null, new PackageManagerEventArgs(packageType, packageId, (PackageEventState)eventState, progress));
+ handlers = s_clearDataEventHandler;
}
}
- catch (Exception e)
- {
- Log.Warn(LogTag, e.Message);
- }
+
+ handlers?.Invoke(null, args);
}
private static void UnregisterPackageManagerEventIfNeeded()
{
if(childLayout.Owner != null)
{
- Interop.Actor.Actor_Remove(View.getCPtr(childLayout.Owner.Parent), View.getCPtr(childLayout.Owner));
- if (NDalicPINVOKE.SWIGPendingException.Pending)
- throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- childLayout.Owner.InternalParent = null;
+ View parent = childLayout.Owner.GetParent() as View;
+
+ if(parent != null)
+ {
+ parent.RemoveChild(childLayout.Owner);
+ }
+ else
+ {
+ NUIApplication.GetDefaultWindow().Remove(childLayout.Owner);
+ }
}
}
childRemoved = true;
}
}
+
if (childRemoved)
{
// If child removed then set all siblings not being added to a ChangeOnRemove transition.
SetConditionsForAnimationOnLayoutGroup(TransitionCondition.ChangeOnRemove);
}
+
RequestLayout();
}
myPlayer player;
string resourcePath;
const string tag = "NUITEST";
+ View dummy;
public void Activate()
{
win = NUIApplication.GetDefaultWindow();
- win.BackgroundColor = Color.Green;
+ win.BackgroundColor = new Color(1, 1, 1, 0);
win.KeyEvent += Win_KeyEvent;
win.TouchEvent += Win_TouchEvent;
- var dummy = new View();
+ dummy = new View();
dummy.Size = new Size(200, 200);
- dummy.BackgroundColor = new Color(0.0f, 0.0f, 0.0f, 0.2f);
+ dummy.BackgroundColor = new Color(1, 1, 1, 0.5f);
win.Add(dummy);
resourcePath = Tizen.Applications.Application.Current.DirectoryInfo.Resource + "v.mp4";
{
win.KeyEvent -= Win_KeyEvent;
win.TouchEvent -= Win_TouchEvent;
- videoView?.Unparent();
- player?.Dispose();
- player = null;
+
+ tlog.Fatal(tag, $"Deactivate()!");
+
+ dummy.Unparent();
+
+ videoView.Unparent();
+
+ // currently it is crashed when Dispose() is called. need to check.
+ //videoView.Dispose();
+ //videoView = null;
+ //player.Unprepare();
+ //player.Dispose();
+ //player = null;
+ tlog.Fatal(tag, $"Deactivate()! videoView dispsed");
}
int cnt;