diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer/IMvxAccelerometer.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/IMvxAccelerometer.cs similarity index 91% rename from Accelerometer/MvvmCross.Plugins.Accelerometer/IMvxAccelerometer.cs rename to Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/IMvxAccelerometer.cs index 47f9e311..0539c448 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer/IMvxAccelerometer.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/IMvxAccelerometer.cs @@ -1,26 +1,26 @@ -// -// (c) Copyright Cirrious. http://www.cirrious.com -// This source is subject to the Microsoft Public License (Ms-PL) -// Please see license.txt on http://opensource.org/licenses/ms-pl.html -// All other rights reserved. -// -// -// Project Lead - Stuart Lodge, Cirrious. http://www.cirrious.com - Hire me - I'm worth it! - -using MvvmCross.Platform.Core; -using System; - -namespace MvvmCross.Plugins.Accelerometer -{ - public interface IMvxAccelerometer - { - void Start(); - - void Stop(); - - bool Started { get; } - MvxAccelerometerReading LastReading { get; } - - event EventHandler> ReadingAvailable; - } +// +// (c) Copyright Cirrious. http://www.cirrious.com +// This source is subject to the Microsoft Public License (Ms-PL) +// Please see license.txt on http://opensource.org/licenses/ms-pl.html +// All other rights reserved. +// +// +// Project Lead - Stuart Lodge, Cirrious. http://www.cirrious.com - Hire me - I'm worth it! + +using MvvmCross.Platform.Core; +using System; + +namespace MvvmCross.Plugins.Accelerometer.Abstractions +{ + public interface IMvxAccelerometer + { + void Start(); + + void Stop(); + + bool Started { get; } + MvxAccelerometerReading LastReading { get; } + + event EventHandler> ReadingAvailable; + } } \ No newline at end of file diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/MvvmCross.Plugins.Accelerometer.Abstractions.csproj b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/MvvmCross.Plugins.Accelerometer.Abstractions.csproj new file mode 100644 index 00000000..15b210d8 --- /dev/null +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/MvvmCross.Plugins.Accelerometer.Abstractions.csproj @@ -0,0 +1,59 @@ + + + + + 10.0 + Debug + AnyCPU + {061CF78A-25B7-4089-9ACA-BA336739E731} + Library + Properties + MvvmCross.Plugins.Accelerometer.Abstractions + MvvmCross.Plugins.Accelerometer.Abstractions + en-US + 512 + {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Profile259 + v4.5 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + ..\..\packages\MvvmCross.Platform.4.0.0\lib\portable-net45+win+wpa81+wp80\MvvmCross.Platform.dll + True + + + + + + + + \ No newline at end of file diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer/MvxAccelerometerReading.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/MvxAccelerometerReading.cs similarity index 92% rename from Accelerometer/MvvmCross.Plugins.Accelerometer/MvxAccelerometerReading.cs rename to Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/MvxAccelerometerReading.cs index 446836b3..f29e43b0 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer/MvxAccelerometerReading.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/MvxAccelerometerReading.cs @@ -7,7 +7,7 @@ // // Project Lead - Stuart Lodge, Cirrious. http://www.cirrious.com - Hire me - I'm worth it! -namespace MvvmCross.Plugins.Accelerometer +namespace MvvmCross.Plugins.Accelerometer.Abstractions { public class MvxAccelerometerReading { diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer/PluginLoader.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/PluginLoader.cs similarity index 93% rename from Accelerometer/MvvmCross.Plugins.Accelerometer/PluginLoader.cs rename to Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/PluginLoader.cs index 0f4f548f..71220a7c 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer/PluginLoader.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/PluginLoader.cs @@ -10,7 +10,7 @@ using MvvmCross.Platform; using MvvmCross.Platform.Plugins; -namespace MvvmCross.Plugins.Accelerometer +namespace MvvmCross.Plugins.Accelerometer.Abstractions { public class PluginLoader : IMvxPluginLoader diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/Properties/AssemblyInfo.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..6398c9bf --- /dev/null +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/Properties/AssemblyInfo.cs @@ -0,0 +1,30 @@ +using System.Resources; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("MvvmCross.Plugins.Accelerometer.Abstractions")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("MvvmCross.Plugins.Accelerometer.Abstractions")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: NeutralResourcesLanguage("en")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/packages.config b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/packages.config new file mode 100644 index 00000000..6766dd7d --- /dev/null +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Abstractions/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/MvvmCross.Plugins.Accelerometer.Droid.csproj b/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/MvvmCross.Plugins.Accelerometer.Droid.csproj index 3360e1cf..9ce5748b 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/MvvmCross.Plugins.Accelerometer.Droid.csproj +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/MvvmCross.Plugins.Accelerometer.Droid.csproj @@ -7,12 +7,12 @@ {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Library Properties - MvvmCross.Plugins.Accelerometer.Droid - MvvmCross.Plugins.Accelerometer.Droid + MvvmCross.Plugins.Accelerometer + MvvmCross.Plugins.Accelerometer 512 Off - v5.0 - False + v6.0 + True True @@ -53,10 +53,6 @@ ..\..\packages\MvvmCross.Core.4.0.0\lib\MonoAndroid\MvvmCross.Droid.dll True - - ..\..\packages\MvvmCross.Platform.4.0.0\lib\MonoAndroid\MvvmCross.Localization.dll - True - ..\..\packages\MvvmCross.Platform.4.0.0\lib\MonoAndroid\MvvmCross.Platform.dll True @@ -76,9 +72,9 @@ - - {B81C8F9A-FE2C-4807-90BA-D34CB25D8CE6} - MvvmCross.Plugins.Accelerometer + + {061cf78a-25b7-4089-9aca-ba336739e731} + MvvmCross.Plugins.Accelerometer.Abstractions diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/MvxAccelerometer.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/MvxAccelerometer.cs index 3ba5d9a3..c331a50d 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/MvxAccelerometer.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/MvxAccelerometer.cs @@ -10,17 +10,18 @@ using System; using Android.Content; using Android.Hardware; +using MvvmCross.Platform; using MvvmCross.Platform.Core; using MvvmCross.Platform.Droid; using MvvmCross.Platform.Exceptions; -using MvvmCross.Platform; +using MvvmCross.Plugins.Accelerometer.Abstractions; -namespace MvvmCross.Plugins.Accelerometer.Droid +namespace MvvmCross.Plugins.Accelerometer { public class MvxAccelerometer : Java.Lang.Object - , ISensorEventListener - , IMvxAccelerometer + , ISensorEventListener + , IMvxAccelerometer { private Sensor _accelerometer; private SensorManager _sensorManager; diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/Plugin.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/Plugin.cs index 67f4ecbf..844d1f3a 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/Plugin.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Droid/Plugin.cs @@ -9,8 +9,9 @@ using MvvmCross.Platform; using MvvmCross.Platform.Plugins; +using MvvmCross.Plugins.Accelerometer.Abstractions; -namespace MvvmCross.Plugins.Accelerometer.Droid +namespace MvvmCross.Plugins.Accelerometer { public class Plugin : IMvxPlugin diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/MvvmCross.Plugins.Accelerometer.WindowsCommon.csproj b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/MvvmCross.Plugins.Accelerometer.WindowsCommon.csproj index 6ddceacd..d9c55ead 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/MvvmCross.Plugins.Accelerometer.WindowsCommon.csproj +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/MvvmCross.Plugins.Accelerometer.WindowsCommon.csproj @@ -8,8 +8,8 @@ {BA60B7DF-9009-4FBD-B361-F7CFAEB96C7C} Library Properties - MvvmCross.Plugins.Accelerometer.WindowsCommon - MvvmCross.Plugins.Accelerometer.WindowsCommon + MvvmCross.Plugins.Accelerometer + MvvmCross.Plugins.Accelerometer en-US 512 {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} @@ -36,9 +36,9 @@ - - {B81C8F9A-FE2C-4807-90BA-D34CB25D8CE6} - MvvmCross.Plugins.Accelerometer + + {061cf78a-25b7-4089-9aca-ba336739e731} + MvvmCross.Plugins.Accelerometer.Abstractions @@ -46,7 +46,7 @@ - + @@ -59,10 +59,6 @@ ..\..\packages\MvvmCross.Core.4.0.0\lib\portable-win81+wpa81\MvvmCross.Core.dll True - - ..\..\packages\MvvmCross.Platform.4.0.0\lib\portable-win81+wpa81\MvvmCross.Localization.dll - True - ..\..\packages\MvvmCross.Platform.4.0.0\lib\portable-win81+wpa81\MvvmCross.Platform.dll True diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/MvxStoreAccelerometer.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/MvxAccelerometer.cs similarity index 94% rename from Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/MvxStoreAccelerometer.cs rename to Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/MvxAccelerometer.cs index 8702e45a..0430ca78 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/MvxStoreAccelerometer.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/MvxAccelerometer.cs @@ -7,14 +7,16 @@ // // Project Lead - Stuart Lodge, Cirrious. http://www.cirrious.com - Hire me - I'm worth it! -using MvvmCross.Platform.Core; -using MvvmCross.Platform.Exceptions; using System; using Windows.Devices.Sensors; +using MvvmCross.Platform.Core; +using MvvmCross.Platform.Exceptions; +using MvvmCross.Plugins.Accelerometer.Abstractions; -namespace MvvmCross.Plugins.Accelerometer.WindowsStore +namespace MvvmCross.Plugins.Accelerometer { - public class MvxStoreAccelerometer : IMvxAccelerometer + public class MvxAccelerometer + : IMvxAccelerometer { private bool _started; private Windows.Devices.Sensors.Accelerometer _accelerometer; diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/Plugin.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/Plugin.cs index 91b9e202..5ef44dc0 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/Plugin.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/Plugin.cs @@ -9,15 +9,16 @@ using MvvmCross.Platform; using MvvmCross.Platform.Plugins; +using MvvmCross.Plugins.Accelerometer.Abstractions; -namespace MvvmCross.Plugins.Accelerometer.WindowsCommon +namespace MvvmCross.Plugins.Accelerometer { public class Plugin : IMvxPlugin { public void Load() { - Mvx.RegisterSingleton(new MvxWindowsCommonAccelerometer()); + Mvx.RegisterSingleton(new MvxAccelerometer()); } } } \ No newline at end of file diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/MvvmCross.Plugins.Accelerometer.WindowsPhone.csproj b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/MvvmCross.Plugins.Accelerometer.WindowsPhone.csproj index d009920e..fdbf8384 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/MvvmCross.Plugins.Accelerometer.WindowsPhone.csproj +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/MvvmCross.Plugins.Accelerometer.WindowsPhone.csproj @@ -7,8 +7,8 @@ {C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} Library Properties - MvvmCross.Plugins.Accelerometer.WindowsPhone - MvvmCross.Plugins.Accelerometer.WindowsPhone + MvvmCross.Plugins.Accelerometer + MvvmCross.Plugins.Accelerometer WindowsPhone v8.0 $(TargetFrameworkVersion) @@ -56,9 +56,9 @@ - - {B81C8F9A-FE2C-4807-90BA-D34CB25D8CE6} - MvvmCross.Plugins.Accelerometer + + {061cf78a-25b7-4089-9aca-ba336739e731} + MvvmCross.Plugins.Accelerometer.Abstractions diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/MvxAccelerometer.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/MvxAccelerometer.cs index 914b02ba..2ed9331d 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/MvxAccelerometer.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/MvxAccelerometer.cs @@ -7,14 +7,16 @@ // // Project Lead - Stuart Lodge, Cirrious. http://www.cirrious.com - Hire me - I'm worth it! +using System; +using Microsoft.Devices.Sensors; using MvvmCross.Platform.Core; using MvvmCross.Platform.Exceptions; -using Microsoft.Devices.Sensors; -using System; +using MvvmCross.Plugins.Accelerometer.Abstractions; -namespace MvvmCross.Plugins.Accelerometer.WindowsPhone +namespace MvvmCross.Plugins.Accelerometer { - public class MvxAccelerometer : IMvxAccelerometer + public class MvxAccelerometer + : IMvxAccelerometer { private Microsoft.Devices.Sensors.Accelerometer _accelerometer; diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/Plugin.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/Plugin.cs index 9bcf26ba..5ef44dc0 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/Plugin.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsPhone/Plugin.cs @@ -9,8 +9,9 @@ using MvvmCross.Platform; using MvvmCross.Platform.Plugins; +using MvvmCross.Plugins.Accelerometer.Abstractions; -namespace MvvmCross.Plugins.Accelerometer.WindowsPhone +namespace MvvmCross.Plugins.Accelerometer { public class Plugin : IMvxPlugin diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/MvvmCross.Plugins.Accelerometer.WindowsStore.csproj b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/MvvmCross.Plugins.Accelerometer.WindowsStore.csproj index ec4e6a4c..eb915115 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/MvvmCross.Plugins.Accelerometer.WindowsStore.csproj +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/MvvmCross.Plugins.Accelerometer.WindowsStore.csproj @@ -7,8 +7,8 @@ {87C31E67-3DED-43A7-982D-B108C45CA0AD} Library Properties - MvvmCross.Plugins.Accelerometer.WindowsStore - MvvmCross.Plugins.Accelerometer.WindowsStore + MvvmCross.Plugins.Accelerometer + MvvmCross.Plugins.Accelerometer en-US 512 {BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} @@ -36,12 +36,12 @@ - + - - {B81C8F9A-FE2C-4807-90BA-D34CB25D8CE6} - MvvmCross.Plugins.Accelerometer + + {061cf78a-25b7-4089-9aca-ba336739e731} + MvvmCross.Plugins.Accelerometer.Abstractions diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/MvxWindowsCommonAccelerometer.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/MvxAccelerometer.cs similarity index 95% rename from Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/MvxWindowsCommonAccelerometer.cs rename to Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/MvxAccelerometer.cs index 1b47a25a..07daa1e9 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsCommon/MvxWindowsCommonAccelerometer.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/MvxAccelerometer.cs @@ -8,13 +8,14 @@ // Project Lead - Stuart Lodge, Cirrious. http://www.cirrious.com - Hire me - I'm worth it! using System; +using Windows.Devices.Sensors; using MvvmCross.Platform.Core; using MvvmCross.Platform.Exceptions; -using Windows.Devices.Sensors; +using MvvmCross.Plugins.Accelerometer.Abstractions; -namespace MvvmCross.Plugins.Accelerometer.WindowsCommon +namespace MvvmCross.Plugins.Accelerometer { - public class MvxWindowsCommonAccelerometer : IMvxAccelerometer + public class MvxAccelerometer : IMvxAccelerometer { private bool _started; private Windows.Devices.Sensors.Accelerometer _accelerometer; diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/Plugin.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/Plugin.cs index 33a6abe3..5ef44dc0 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/Plugin.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.WindowsStore/Plugin.cs @@ -9,15 +9,16 @@ using MvvmCross.Platform; using MvvmCross.Platform.Plugins; +using MvvmCross.Plugins.Accelerometer.Abstractions; -namespace MvvmCross.Plugins.Accelerometer.WindowsStore +namespace MvvmCross.Plugins.Accelerometer { public class Plugin : IMvxPlugin { public void Load() { - Mvx.RegisterSingleton(new MvxStoreAccelerometer()); + Mvx.RegisterSingleton(new MvxAccelerometer()); } } } \ No newline at end of file diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/MvvmCross.Plugins.Accelerometer.Wpf.csproj b/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/MvvmCross.Plugins.Accelerometer.Wpf.csproj index 35b7cdf3..b4e0b738 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/MvvmCross.Plugins.Accelerometer.Wpf.csproj +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/MvvmCross.Plugins.Accelerometer.Wpf.csproj @@ -7,8 +7,8 @@ {BFD90EC2-CBDA-4198-81DA-1A13AD2803E1} Library Properties - MvvmCross.Plugins.Accelerometer.Wpf - MvvmCross.Plugins.Accelerometer.Wpf + MvvmCross.Plugins.Accelerometer + MvvmCross.Plugins.Accelerometer 512 v4.5 @@ -65,12 +65,12 @@ - + - - {B81C8F9A-FE2C-4807-90BA-D34CB25D8CE6} - MvvmCross.Plugins.Accelerometer + + {061cf78a-25b7-4089-9aca-ba336739e731} + MvvmCross.Plugins.Accelerometer.Abstractions diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/SimpleAccelerometer.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/MvxAccelerometer.cs similarity index 94% rename from Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/SimpleAccelerometer.cs rename to Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/MvxAccelerometer.cs index e9b5a76e..4d71fe9b 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/SimpleAccelerometer.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/MvxAccelerometer.cs @@ -7,13 +7,15 @@ // // Project Lead - Stuart Lodge, Cirrious. http://www.cirrious.com - Hire me - I'm worth it! +using System; using MvvmCross.Platform.Core; using MvvmCross.Platform.Exceptions; -using System; +using MvvmCross.Plugins.Accelerometer.Abstractions; -namespace MvvmCross.Plugins.Accelerometer.Wpf +namespace MvvmCross.Plugins.Accelerometer { - public class MvxAccelerometer : IMvxAccelerometer + public class MvxAccelerometer + : IMvxAccelerometer { // TODO - mahybe try WindowsAPICodePack from http://msdn.microsoft.com/en-us/windows7trainingcourse_win7sensorsmanaged_topic2.aspx //private Windows.Devices.Sensors.Accelerometer _accelerometer; diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/Plugin.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/Plugin.cs index 01a04eb5..5ef44dc0 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/Plugin.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.Wpf/Plugin.cs @@ -9,8 +9,9 @@ using MvvmCross.Platform; using MvvmCross.Platform.Plugins; +using MvvmCross.Plugins.Accelerometer.Abstractions; -namespace MvvmCross.Plugins.Accelerometer.Wpf +namespace MvvmCross.Plugins.Accelerometer { public class Plugin : IMvxPlugin diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/MvvmCross.Plugins.Accelerometer.iOS.csproj b/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/MvvmCross.Plugins.Accelerometer.iOS.csproj index e81c007c..c3328352 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/MvvmCross.Plugins.Accelerometer.iOS.csproj +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/MvvmCross.Plugins.Accelerometer.iOS.csproj @@ -6,9 +6,9 @@ {ED445165-3EBC-4474-8178-A2C3A41A18FD} {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} Library - MvvmCross.Plugins.Accelerometer.iOS + MvvmCross.Plugins.Accelerometer Resources - MvvmCross.Plugins.Accelerometer.iOS + MvvmCross.Plugins.Accelerometer True @@ -63,15 +63,15 @@ - - {B81C8F9A-FE2C-4807-90BA-D34CB25D8CE6} - MvvmCross.Plugins.Accelerometer + + {061cf78a-25b7-4089-9aca-ba336739e731} + MvvmCross.Plugins.Accelerometer.Abstractions - + diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/SimpleAccelerometer.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/MvxAccelerometer.cs similarity index 95% rename from Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/SimpleAccelerometer.cs rename to Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/MvxAccelerometer.cs index 4c85cc9f..6c7a38f3 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/SimpleAccelerometer.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/MvxAccelerometer.cs @@ -10,9 +10,10 @@ using System; using MvvmCross.Platform.Core; using MvvmCross.Platform.Exceptions; +using MvvmCross.Plugins.Accelerometer.Abstractions; using UIKit; -namespace MvvmCross.Plugins.Accelerometer.iOS +namespace MvvmCross.Plugins.Accelerometer { public class MvxAccelerometer : IMvxAccelerometer diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/Plugin.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/Plugin.cs index 58db19b5..5ef44dc0 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/Plugin.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/Plugin.cs @@ -9,8 +9,9 @@ using MvvmCross.Platform; using MvvmCross.Platform.Plugins; +using MvvmCross.Plugins.Accelerometer.Abstractions; -namespace MvvmCross.Plugins.Accelerometer.iOS +namespace MvvmCross.Plugins.Accelerometer { public class Plugin : IMvxPlugin diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/Properties/AssemblyInfo.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/Properties/AssemblyInfo.cs index a3580abc..73635b94 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/Properties/AssemblyInfo.cs +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer.iOS/Properties/AssemblyInfo.cs @@ -4,11 +4,11 @@ // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("MvvmCross.Plugins.Accelerometer.Touch")] +[assembly: AssemblyTitle("MvvmCross.Plugins.Accelerometer.iOS")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("MvvmCross.Plugins.Accelerometer.Touch")] +[assembly: AssemblyProduct("MvvmCross.Plugins.Accelerometer.iOS")] [assembly: AssemblyCopyright("Copyright © 2016")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer/Facades.cs b/Accelerometer/MvvmCross.Plugins.Accelerometer/Facades.cs new file mode 100644 index 00000000..de33b2f8 --- /dev/null +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer/Facades.cs @@ -0,0 +1,26 @@ +using System; +using MvvmCross.Platform.Core; +using MvvmCross.Plugins.Accelerometer.Abstractions; + +namespace MvvmCross.Plugins.Accelerometer +{ + public class MvxAccelerometer + : IMvxAccelerometer + { + private const string WrongVersion = "Should never happen. Did you load platform specific assembly?"; + + public void Start() + { + throw new NotImplementedException(WrongVersion); + } + + public void Stop() + { + throw new NotImplementedException(WrongVersion); + } + + public bool Started { get; } + public MvxAccelerometerReading LastReading { get; } + public event EventHandler> ReadingAvailable; + } +} diff --git a/Accelerometer/MvvmCross.Plugins.Accelerometer/MvvmCross.Plugins.Accelerometer.csproj b/Accelerometer/MvvmCross.Plugins.Accelerometer/MvvmCross.Plugins.Accelerometer.csproj index 9dc296a3..13980833 100644 --- a/Accelerometer/MvvmCross.Plugins.Accelerometer/MvvmCross.Plugins.Accelerometer.csproj +++ b/Accelerometer/MvvmCross.Plugins.Accelerometer/MvvmCross.Plugins.Accelerometer.csproj @@ -33,10 +33,8 @@ 4 - - + - @@ -47,6 +45,12 @@ + + + {061cf78a-25b7-4089-9aca-ba336739e731} + MvvmCross.Plugins.Accelerometer.Abstractions + + + \ No newline at end of file diff --git a/Samples/Accelerometer/AccelerometerSample.Core/App.cs b/Samples/Accelerometer/AccelerometerSample.Core/App.cs new file mode 100644 index 00000000..fd9186f5 --- /dev/null +++ b/Samples/Accelerometer/AccelerometerSample.Core/App.cs @@ -0,0 +1,22 @@ +using AccelerometerSample.Core.ViewModels; +using MvvmCross.Core.ViewModels; +using MvvmCross.Platform.IoC; + +namespace AccelerometerSample.Core +{ + public class App : MvxApplication + { + public override void Initialize() + { + // Registers any classes ending with "Service" into the internal + // Mvx IoC container for use when constructing objects through + // the container + CreatableTypes() + .EndingWith("Service") + .AsInterfaces() + .RegisterAsLazySingleton(); + + RegisterAppStart(); + } + } +} diff --git a/Samples/Accelerometer/AccelerometerSample.Core/Properties/AssemblyInfo.cs b/Samples/Accelerometer/AccelerometerSample.Core/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..9c9761f2 --- /dev/null +++ b/Samples/Accelerometer/AccelerometerSample.Core/Properties/AssemblyInfo.cs @@ -0,0 +1,30 @@ +using System.Resources; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("AccelerometerSample.Core")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("AccelerometerSample.Core")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: NeutralResourcesLanguage("en")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Samples/Accelerometer/AccelerometerSample.Core/ViewModels/FirstViewModel.cs b/Samples/Accelerometer/AccelerometerSample.Core/ViewModels/FirstViewModel.cs new file mode 100644 index 00000000..994075bb --- /dev/null +++ b/Samples/Accelerometer/AccelerometerSample.Core/ViewModels/FirstViewModel.cs @@ -0,0 +1,84 @@ +using System.Windows.Input; +using MvvmCross.Core.ViewModels; +using MvvmCross.Platform.Core; +using MvvmCross.Plugins.Accelerometer.Abstractions; + +namespace AccelerometerSample.Core.ViewModels +{ + public class FirstViewModel + : MvxViewModel + { + private readonly IMvxAccelerometer _accelerometer; + private MvxCommand _startReadingCommand; + private MvxCommand _stopReadingCommand; + private double _x; + private double _y; + private double _z; + + public FirstViewModel(IMvxAccelerometer accelerometer) + { + _accelerometer = accelerometer; + _accelerometer.ReadingAvailable += AccelerometerOnReadingAvailable; + } + + public double X + { + get { return _x; } + set { this.RaiseAndSetIfChanged(ref _x, value); } + } + + public double Y + { + get { return _y; } + set { this.RaiseAndSetIfChanged(ref _y, value); } + } + + public double Z + { + get { return _z; } + set { this.RaiseAndSetIfChanged(ref _z, value); } + } + + public bool Started => _accelerometer.Started; + + public ICommand StartReadingCommand + { + get + { + return + _startReadingCommand = _startReadingCommand ?? new MvxCommand(DoStartReadingCommand, () => !Started); + } + } + + public ICommand StopReadingCommand + { + get + { + return _stopReadingCommand = _stopReadingCommand ?? new MvxCommand(DoStopReadingCommand, () => Started); + } + } + + private void AccelerometerOnReadingAvailable(object sender, MvxValueEventArgs args) + { + X = args.Value.X; + Y = args.Value.Y; + Z = args.Value.Z; + } + + private void DoStartReadingCommand() + { + _accelerometer.Start(); + RaisePropertyChanged(() => Started); + _stopReadingCommand.RaiseCanExecuteChanged(); + _startReadingCommand.RaiseCanExecuteChanged(); + } + + private void DoStopReadingCommand() + { + _accelerometer.Stop(); + RaisePropertyChanged(() => Started); + _stopReadingCommand.RaiseCanExecuteChanged(); + _startReadingCommand.RaiseCanExecuteChanged(); + } + } +} \ No newline at end of file diff --git a/Samples/Accelerometer/AccelerometerSample.Core/packages.config b/Samples/Accelerometer/AccelerometerSample.Core/packages.config new file mode 100644 index 00000000..0ad559fb --- /dev/null +++ b/Samples/Accelerometer/AccelerometerSample.Core/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Samples/Accelerometer/AccelerometerSample.Droid/AccelerometerSample.Droid.csproj b/Samples/Accelerometer/AccelerometerSample.Droid/AccelerometerSample.Droid.csproj new file mode 100644 index 00000000..de8df362 --- /dev/null +++ b/Samples/Accelerometer/AccelerometerSample.Droid/AccelerometerSample.Droid.csproj @@ -0,0 +1,126 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {46F3B2F6-2D7E-41C1-9D7B-C85A3E6812B1} + {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + Properties + AccelerometerSample.Droid + AccelerometerSample.Droid + 512 + true + Resources\Resource.Designer.cs + Off + True + v6.0 + Properties\AndroidManifest.xml + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + True + None + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + False + SdkOnly + + + + + + + ..\..\packages\MvvmCross.Binding.4.0.0\lib\MonoAndroid\MvvmCross.Binding.dll + True + + + ..\..\packages\MvvmCross.Binding.4.0.0\lib\MonoAndroid\MvvmCross.Binding.Droid.dll + True + + + ..\..\packages\MvvmCross.Core.4.0.0\lib\MonoAndroid\MvvmCross.Core.dll + True + + + ..\..\packages\MvvmCross.Core.4.0.0\lib\MonoAndroid\MvvmCross.Droid.dll + True + + + ..\..\packages\MvvmCross.Binding.4.0.0\lib\MonoAndroid\MvvmCross.Localization.dll + True + + + ..\..\packages\MvvmCross.Platform.4.0.0\lib\MonoAndroid\MvvmCross.Platform.dll + True + + + ..\..\packages\MvvmCross.Platform.4.0.0\lib\MonoAndroid\MvvmCross.Platform.Droid.dll + True + + + ..\..\packages\MvvmCross.Plugin.Accelerometer.4.1.0\lib\MonoAndroid\MvvmCross.Plugins.Accelerometer.dll + True + + + ..\..\packages\MvvmCross.Plugin.Accelerometer.4.1.0\lib\MonoAndroid\MvvmCross.Plugins.Accelerometer.Abstractions.dll + True + + + + + + + + + + + + + + + + + + AndroidResource + + + AndroidResource + + + + + + + + + + + + {be778acd-1bb0-4e70-a264-894422cd7acd} + AccelerometerSample.Core + + + + + \ No newline at end of file diff --git a/Samples/Accelerometer/AccelerometerSample.Droid/Assets/AboutAssets.txt b/Samples/Accelerometer/AccelerometerSample.Droid/Assets/AboutAssets.txt new file mode 100644 index 00000000..ee398862 --- /dev/null +++ b/Samples/Accelerometer/AccelerometerSample.Droid/Assets/AboutAssets.txt @@ -0,0 +1,19 @@ +Any raw assets you want to be deployed with your application can be placed in +this directory (and child directories) and given a Build Action of "AndroidAsset". + +These files will be deployed with you package and will be accessible using Android's +AssetManager, like this: + +public class ReadAsset : Activity +{ + protected override void OnCreate (Bundle bundle) + { + base.OnCreate (bundle); + + InputStream input = Assets.Open ("my_asset.txt"); + } +} + +Additionally, some Android functions will automatically load asset files: + +Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); \ No newline at end of file diff --git a/Samples/Accelerometer/AccelerometerSample.Droid/Bootstrap/AccelerometerPluginBootstrap.cs b/Samples/Accelerometer/AccelerometerSample.Droid/Bootstrap/AccelerometerPluginBootstrap.cs new file mode 100644 index 00000000..ab2f32d0 --- /dev/null +++ b/Samples/Accelerometer/AccelerometerSample.Droid/Bootstrap/AccelerometerPluginBootstrap.cs @@ -0,0 +1,10 @@ +using MvvmCross.Platform.Plugins; + +namespace AccelerometerSample.Droid.Bootstrap +{ + // TODO this expects an assembly ending with .Droid containing interface impl + //public class AccelerometerPluginBootstrap + // : MvxPluginBootstrapAction + //{ + //} +} \ No newline at end of file diff --git a/Samples/Accelerometer/AccelerometerSample.Droid/Properties/AndroidManifest.xml b/Samples/Accelerometer/AccelerometerSample.Droid/Properties/AndroidManifest.xml new file mode 100644 index 00000000..0199c2d3 --- /dev/null +++ b/Samples/Accelerometer/AccelerometerSample.Droid/Properties/AndroidManifest.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Samples/Accelerometer/AccelerometerSample.Droid/Properties/AssemblyInfo.cs b/Samples/Accelerometer/AccelerometerSample.Droid/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..d756117f --- /dev/null +++ b/Samples/Accelerometer/AccelerometerSample.Droid/Properties/AssemblyInfo.cs @@ -0,0 +1,30 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using Android.App; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("AccelerometerSample.Droid")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("AccelerometerSample.Droid")] +[assembly: AssemblyCopyright("Copyright © 2016")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +[assembly: ComVisible(false)] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Samples/Accelerometer/AccelerometerSample.Droid/Resources/drawable/Icon.png b/Samples/Accelerometer/AccelerometerSample.Droid/Resources/drawable/Icon.png new file mode 100644 index 00000000..8074c4c5 Binary files /dev/null and b/Samples/Accelerometer/AccelerometerSample.Droid/Resources/drawable/Icon.png differ diff --git a/Samples/Accelerometer/AccelerometerSample.Droid/Resources/layout/first_view.axml b/Samples/Accelerometer/AccelerometerSample.Droid/Resources/layout/first_view.axml new file mode 100644 index 00000000..e0951015 --- /dev/null +++ b/Samples/Accelerometer/AccelerometerSample.Droid/Resources/layout/first_view.axml @@ -0,0 +1,47 @@ + + + + + + + + +