You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by pu...@apache.org on 2012/12/04 02:55:39 UTC
[6/8] wp7 commit: add OnReset virtual to BaseCommand,
and call it when page navigates
add OnReset virtual to BaseCommand, and call it when page navigates
Project: http://git-wip-us.apache.org/repos/asf/cordova-wp7/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-wp7/commit/5109de52
Tree: http://git-wip-us.apache.org/repos/asf/cordova-wp7/tree/5109de52
Diff: http://git-wip-us.apache.org/repos/asf/cordova-wp7/diff/5109de52
Branch: refs/heads/master
Commit: 5109de522ab8d7e83bb6f74323abf1fa5d851be0
Parents: 35d9a5c
Author: Jesse MacFadyen <pu...@gmail.com>
Authored: Mon Dec 3 16:29:06 2012 -0800
Committer: Jesse MacFadyen <pu...@gmail.com>
Committed: Mon Dec 3 16:29:06 2012 -0800
----------------------------------------------------------------------
templates/standalone/cordovalib/CommandFactory.cs | 8 ++++++++
.../standalone/cordovalib/Commands/BaseCommand.cs | 9 +++++++++
.../standalone/cordovalib/CordovaView.xaml.cs | 3 ++-
templates/standalone/cordovalib/NativeExecution.cs | 5 +++++
4 files changed, 24 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-wp7/blob/5109de52/templates/standalone/cordovalib/CommandFactory.cs
----------------------------------------------------------------------
diff --git a/templates/standalone/cordovalib/CommandFactory.cs b/templates/standalone/cordovalib/CommandFactory.cs
index c7a9f62..5c72ef6 100644
--- a/templates/standalone/cordovalib/CommandFactory.cs
+++ b/templates/standalone/cordovalib/CommandFactory.cs
@@ -100,5 +100,13 @@ namespace WP7CordovaClassLib.Cordova
return commandMap[service];
}
+
+ public static void ResetAllCommands()
+ {
+ foreach (BaseCommand bc in commandMap.Values)
+ {
+ bc.OnReset();
+ }
+ }
}
}
http://git-wip-us.apache.org/repos/asf/cordova-wp7/blob/5109de52/templates/standalone/cordovalib/Commands/BaseCommand.cs
----------------------------------------------------------------------
diff --git a/templates/standalone/cordovalib/Commands/BaseCommand.cs b/templates/standalone/cordovalib/Commands/BaseCommand.cs
index 5f5c379..4ff8f22 100644
--- a/templates/standalone/cordovalib/Commands/BaseCommand.cs
+++ b/templates/standalone/cordovalib/Commands/BaseCommand.cs
@@ -103,6 +103,15 @@ namespace WP7CordovaClassLib.Cordova.Commands
}
}
+
+ /// <summary>
+ /// Occurs when the application is being deactivated.
+ /// </summary>
+ public virtual void OnReset()
+ {
+ }
+
+
/// <summary>
/// Occurs when the application is being deactivated.
/// </summary>
http://git-wip-us.apache.org/repos/asf/cordova-wp7/blob/5109de52/templates/standalone/cordovalib/CordovaView.xaml.cs
----------------------------------------------------------------------
diff --git a/templates/standalone/cordovalib/CordovaView.xaml.cs b/templates/standalone/cordovalib/CordovaView.xaml.cs
index 4ac36f5..674f283 100644
--- a/templates/standalone/cordovalib/CordovaView.xaml.cs
+++ b/templates/standalone/cordovalib/CordovaView.xaml.cs
@@ -379,7 +379,8 @@ namespace WP7CordovaClassLib
{
this.PageDidChange = true;
// Debug.WriteLine("GapBrowser_Navigating to :: " + e.Uri.ToString());
- // TODO: tell any running plugins to stop doing what they are doing.
+ this.nativeExecution.ResetAllCommands();
+
// TODO: check whitelist / blacklist
// NOTE: Navigation can be cancelled by setting : e.Cancel = true;
}
http://git-wip-us.apache.org/repos/asf/cordova-wp7/blob/5109de52/templates/standalone/cordovalib/NativeExecution.cs
----------------------------------------------------------------------
diff --git a/templates/standalone/cordovalib/NativeExecution.cs b/templates/standalone/cordovalib/NativeExecution.cs
index 92a23cd..390912e 100644
--- a/templates/standalone/cordovalib/NativeExecution.cs
+++ b/templates/standalone/cordovalib/NativeExecution.cs
@@ -56,6 +56,11 @@ namespace WP7CordovaClassLib.Cordova
return Microsoft.Devices.Environment.DeviceType == DeviceType.Emulator;
}
+ public void ResetAllCommands()
+ {
+ CommandFactory.ResetAllCommands();
+ }
+
/// <summary>
/// Executes command and returns result back.
/// </summary>