Seperate the behavior of update, changeddisplay 92/121792/2
authorMyungki Lee <mk5004.lee@samsung.com>
Wed, 29 Mar 2017 06:24:35 +0000 (15:24 +0900)
committerMyungki Lee <mk5004.lee@samsung.com>
Wed, 29 Mar 2017 06:24:35 +0000 (15:24 +0900)
Change-Id: Ia854ee3679a776e6bf4325a184e92f2120c7484b
Signed-off-by: Myungki Lee <mk5004.lee@samsung.com>
Tizen.Applications.Badge/Tizen.Applications/BadgeControl.cs

index ceca402..c74ec60 100755 (executable)
@@ -346,6 +346,7 @@ namespace Tizen.Applications
         private static void OnChangedEvent(Interop.Badge.Action action, string appId, uint count, IntPtr userData)
         {
             uint display = 0;
+            uint countLocal = 0;
 
             switch (action)
             {
@@ -366,7 +367,6 @@ namespace Tizen.Applications
                     break;
 
                 case Interop.Badge.Action.Update:
-                case Interop.Badge.Action.ChangedDisplay:
                     Interop.Badge.GetDisplay(appId, out display);
                     s_changed?.Invoke(null, new BadgeEventArgs()
                     {
@@ -375,6 +375,15 @@ namespace Tizen.Applications
                     });
                     break;
 
+                case Interop.Badge.Action.ChangedDisplay:
+                    Interop.Badge.GetCount(appId, out countLocal);
+                    s_changed?.Invoke(null, new BadgeEventArgs()
+                    {
+                        Reason = BadgeEventArgs.Action.Update,
+                        Badge = new Badge(appId, (int)countLocal, count == 0 ? false : true)
+                    });
+                    break;
+
                 case Interop.Badge.Action.ServiceReady:
                     // Ignore
                     break;