From df5690f2588cd5b72398ff7e4da1d2a957e70a04 Mon Sep 17 00:00:00 2001 From: Brad Moore Date: Wed, 23 Apr 2014 18:17:37 +1000 Subject: [PATCH 01/11] Added sample Added sample of the RevMob Xamarin.Android bindings. --- .gitignore | 3 + RevMob/binding/Additions/AboutAdditions.txt | 48 ++ RevMob/binding/Jars/AboutJars.txt | 37 ++ RevMob/binding/Properties/AssemblyInfo.cs | 23 + RevMob/binding/RevMob-Bindings.csproj | 64 +++ RevMob/binding/Transforms/EnumFields.xml | 18 + RevMob/binding/Transforms/EnumMethods.xml | 18 + RevMob/binding/Transforms/Metadata.xml | 53 ++ RevMob/binding/apidocs/.gitignore | 2 + RevMob/samples/RevMob-Sample.sln | 26 + .../RevMob-Sample/Assets/AboutAssets.txt | 19 + .../Properties/AndroidManifest.xml | 12 + .../RevMob-Sample/Properties/AssemblyInfo.cs | 23 + .../Resources/AboutResources.txt | 44 ++ .../Resources/Resource.designer.cs | 200 +++++++ .../Resources/drawable-hdpi/button1.xml | 7 + .../Resources/drawable-hdpi/button2.xml | 7 + .../Resources/drawable-hdpi/button3.xml | 7 + .../Resources/drawable-hdpi/button4.xml | 7 + .../Resources/drawable-hdpi/button5.xml | 7 + .../Resources/drawable-hdpi/logo.png | Bin 0 -> 5926 bytes .../Resources/drawable-hdpi/revmob.png | Bin 0 -> 44929 bytes .../Resources/drawable-ldpi/ic_launcher.png | Bin 0 -> 1723 bytes .../Resources/drawable-mdpi/ic_launcher.png | Bin 0 -> 2574 bytes .../RevMob-Sample/Resources/layout/Main.axml | 214 +++++++ .../RevMob-Sample/Resources/values/Colors.xml | 10 + .../Resources/values/Strings.xml | 6 + .../RevMob-Sample/RevMob-Sample.csproj | 88 +++ RevMob/samples/RevMob-Sample/SampleApp.cs | 532 ++++++++++++++++++ RevMob/samples/RevMob-Sample/SampleApp2.cs | 36 ++ RevMob/samples/RevMob-Sample/SampleOpenGL.cs | 194 +++++++ .../RevMob-Sample/com.revmob.android.apk | Bin 0 -> 5100824 bytes 32 files changed, 1705 insertions(+) create mode 100644 .gitignore create mode 100644 RevMob/binding/Additions/AboutAdditions.txt create mode 100644 RevMob/binding/Jars/AboutJars.txt create mode 100644 RevMob/binding/Properties/AssemblyInfo.cs create mode 100644 RevMob/binding/RevMob-Bindings.csproj create mode 100644 RevMob/binding/Transforms/EnumFields.xml create mode 100644 RevMob/binding/Transforms/EnumMethods.xml create mode 100644 RevMob/binding/Transforms/Metadata.xml create mode 100644 RevMob/binding/apidocs/.gitignore create mode 100644 RevMob/samples/RevMob-Sample.sln create mode 100644 RevMob/samples/RevMob-Sample/Assets/AboutAssets.txt create mode 100644 RevMob/samples/RevMob-Sample/Properties/AndroidManifest.xml create mode 100644 RevMob/samples/RevMob-Sample/Properties/AssemblyInfo.cs create mode 100644 RevMob/samples/RevMob-Sample/Resources/AboutResources.txt create mode 100644 RevMob/samples/RevMob-Sample/Resources/Resource.designer.cs create mode 100644 RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button1.xml create mode 100644 RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button2.xml create mode 100644 RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button3.xml create mode 100644 RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button4.xml create mode 100644 RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button5.xml create mode 100644 RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/logo.png create mode 100644 RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/revmob.png create mode 100644 RevMob/samples/RevMob-Sample/Resources/drawable-ldpi/ic_launcher.png create mode 100644 RevMob/samples/RevMob-Sample/Resources/drawable-mdpi/ic_launcher.png create mode 100644 RevMob/samples/RevMob-Sample/Resources/layout/Main.axml create mode 100644 RevMob/samples/RevMob-Sample/Resources/values/Colors.xml create mode 100644 RevMob/samples/RevMob-Sample/Resources/values/Strings.xml create mode 100644 RevMob/samples/RevMob-Sample/RevMob-Sample.csproj create mode 100644 RevMob/samples/RevMob-Sample/SampleApp.cs create mode 100644 RevMob/samples/RevMob-Sample/SampleApp2.cs create mode 100644 RevMob/samples/RevMob-Sample/SampleOpenGL.cs create mode 100644 RevMob/samples/RevMob-Sample/com.revmob.android.apk diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b796459 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*.jar +bin +obj \ No newline at end of file diff --git a/RevMob/binding/Additions/AboutAdditions.txt b/RevMob/binding/Additions/AboutAdditions.txt new file mode 100644 index 0000000..c511f1d --- /dev/null +++ b/RevMob/binding/Additions/AboutAdditions.txt @@ -0,0 +1,48 @@ +Additions allow you to add arbitrary C# to the generated classes +before they are compiled. This can be helpful for providing convenience +methods or adding pure C# classes. + +== Adding Methods to Generated Classes == + +Let's say the library being bound has a Rectangle class with a constructor +that takes an x and y position, and a width and length size. It will look like +this: + +public partial class Rectangle +{ + public Rectangle (int x, int y, int width, int height) + { + // JNI bindings + } +} + +Imagine we want to add a constructor to this class that takes a Point and +Size structure instead of 4 ints. We can add a new file called Rectangle.cs +with a partial class containing our new method: + +public partial class Rectangle +{ + public Rectangle (Point location, Size size) : + this (location.X, location.Y, size.Width, size.Height) + { + } +} + +At compile time, the additions class will be added to the generated class +and the final assembly will a Rectangle class with both constructors. + + +== Adding C# Classes == + +Another thing that can be done is adding fully C# managed classes to the +generated library. In the above example, let's assume that there isn't a +Point class available in Java or our library. The one we create doesn't need +to interact with Java, so we'll create it like a normal class in C#. + +By adding a Point.cs file with this class, it will end up in the binding library: + +public class Point +{ + public int X { get; set; } + public int Y { get; set; } +} diff --git a/RevMob/binding/Jars/AboutJars.txt b/RevMob/binding/Jars/AboutJars.txt new file mode 100644 index 0000000..4f9de89 --- /dev/null +++ b/RevMob/binding/Jars/AboutJars.txt @@ -0,0 +1,37 @@ +This directory is for Android .jars. + +There are 3 types of jars that are supported: + +== Input Jar and Embedded Jar == + +This is the jar that bindings should be generated for. + +For example, if you were binding the Google Maps library, this would +be Google's "maps.jar". + +The difference between EmbeddedJar and InputJar is, EmbeddedJar is to be +embedded in the resulting dll as EmbeddedResource, while InputJar is not. +There are couple of reasons you wouldn't like to embed the target jar +in your dll (the ones that could be internally loaded by +feature e.g. maps.jar, or you cannot embed jars that are under some +proprietary license). + +Set the build action for these jars in the properties page to "InputJar". + + +== Reference Jar and Embedded Reference Jar == + +These are jars that are referenced by the input jar. C# bindings will +not be created for these jars. These jars will be used to resolve +types used by the input jar. + +NOTE: Do not add "android.jar" as a reference jar. It will be added automatically +based on the Target Framework selected. + +Set the build action for these jars in the properties page to "ReferenceJar". + +"EmbeddedJar" works like "ReferenceJar", but like "EmbeddedJar", it is +embedded in your dll. But at application build time, they are not included +in the final apk, like ReferenceJar files. + + diff --git a/RevMob/binding/Properties/AssemblyInfo.cs b/RevMob/binding/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..6de2694 --- /dev/null +++ b/RevMob/binding/Properties/AssemblyInfo.cs @@ -0,0 +1,23 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using Android.App; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. +[assembly: AssemblyTitle("RevMob-Bindings")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("brads_000")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. +[assembly: AssemblyVersion("1.0.0")] +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] + diff --git a/RevMob/binding/RevMob-Bindings.csproj b/RevMob/binding/RevMob-Bindings.csproj new file mode 100644 index 0000000..7b413d4 --- /dev/null +++ b/RevMob/binding/RevMob-Bindings.csproj @@ -0,0 +1,64 @@ + + + + Debug + AnyCPU + 10.0.0 + 2.0 + {46358B34-BA90-4116-83FB-749854C0D8EB} + {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Library + RevMobBindings + True + Assets + Resources + RevMob-Bindings + v4.4 + + + true + full + false + bin\Debug + DEBUG;__MOBILE__;__ANDROID__; + prompt + 4 + None + false + + + full + true + bin\Release + __MOBILE__;__ANDROID__; + prompt + 4 + false + false + + + apidocs + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RevMob/binding/Transforms/EnumFields.xml b/RevMob/binding/Transforms/EnumFields.xml new file mode 100644 index 0000000..e9af0ee --- /dev/null +++ b/RevMob/binding/Transforms/EnumFields.xml @@ -0,0 +1,18 @@ + + + diff --git a/RevMob/binding/Transforms/EnumMethods.xml b/RevMob/binding/Transforms/EnumMethods.xml new file mode 100644 index 0000000..2efa814 --- /dev/null +++ b/RevMob/binding/Transforms/EnumMethods.xml @@ -0,0 +1,18 @@ + + + diff --git a/RevMob/binding/Transforms/Metadata.xml b/RevMob/binding/Transforms/Metadata.xml new file mode 100644 index 0000000..f83212c --- /dev/null +++ b/RevMob/binding/Transforms/Metadata.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + UserInformationObject + + + + + diff --git a/RevMob/binding/apidocs/.gitignore b/RevMob/binding/apidocs/.gitignore new file mode 100644 index 0000000..c96a04f --- /dev/null +++ b/RevMob/binding/apidocs/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore \ No newline at end of file diff --git a/RevMob/samples/RevMob-Sample.sln b/RevMob/samples/RevMob-Sample.sln new file mode 100644 index 0000000..8dcc22b --- /dev/null +++ b/RevMob/samples/RevMob-Sample.sln @@ -0,0 +1,26 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RevMob-Sample", "RevMob-Sample\RevMob-Sample.csproj", "{9396891A-23DD-46A9-B85F-CB43220C1737}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RevMob-Bindings", "..\binding\RevMob-Bindings.csproj", "{46358B34-BA90-4116-83FB-749854C0D8EB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {46358B34-BA90-4116-83FB-749854C0D8EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {46358B34-BA90-4116-83FB-749854C0D8EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {46358B34-BA90-4116-83FB-749854C0D8EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {46358B34-BA90-4116-83FB-749854C0D8EB}.Release|Any CPU.Build.0 = Release|Any CPU + {9396891A-23DD-46A9-B85F-CB43220C1737}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9396891A-23DD-46A9-B85F-CB43220C1737}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9396891A-23DD-46A9-B85F-CB43220C1737}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9396891A-23DD-46A9-B85F-CB43220C1737}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(MonoDevelopProperties) = preSolution + StartupItem = RevMob-Sample\RevMob-Sample.csproj + EndGlobalSection +EndGlobal diff --git a/RevMob/samples/RevMob-Sample/Assets/AboutAssets.txt b/RevMob/samples/RevMob-Sample/Assets/AboutAssets.txt new file mode 100644 index 0000000..a9b0638 --- /dev/null +++ b/RevMob/samples/RevMob-Sample/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 your 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"); diff --git a/RevMob/samples/RevMob-Sample/Properties/AndroidManifest.xml b/RevMob/samples/RevMob-Sample/Properties/AndroidManifest.xml new file mode 100644 index 0000000..e49a689 --- /dev/null +++ b/RevMob/samples/RevMob-Sample/Properties/AndroidManifest.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/RevMob/samples/RevMob-Sample/Properties/AssemblyInfo.cs b/RevMob/samples/RevMob-Sample/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..fa1aaf3 --- /dev/null +++ b/RevMob/samples/RevMob-Sample/Properties/AssemblyInfo.cs @@ -0,0 +1,23 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using Android.App; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. +[assembly: AssemblyTitle("RevMob-Sample")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. +[assembly: AssemblyVersion("1.0.0")] +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] + diff --git a/RevMob/samples/RevMob-Sample/Resources/AboutResources.txt b/RevMob/samples/RevMob-Sample/Resources/AboutResources.txt new file mode 100644 index 0000000..10f52d4 --- /dev/null +++ b/RevMob/samples/RevMob-Sample/Resources/AboutResources.txt @@ -0,0 +1,44 @@ +Images, layout descriptions, binary blobs and string dictionaries can be included +in your application as resource files. Various Android APIs are designed to +operate on the resource IDs instead of dealing with images, strings or binary blobs +directly. + +For example, a sample Android app that contains a user interface layout (main.axml), +an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) +would keep its resources in the "Resources" directory of the application: + +Resources/ + drawable/ + icon.png + + layout/ + main.axml + + values/ + strings.xml + +In order to get the build system to recognize Android resources, set the build action to +"AndroidResource". The native Android APIs do not operate directly with filenames, but +instead operate on resource IDs. When you compile an Android application that uses resources, +the build system will package the resources for distribution and generate a class called "R" +(this is an Android convention) that contains the tokens for each one of the resources +included. For example, for the above Resources layout, this is what the R class would expose: + +public class R { + public class drawable { + public const int icon = 0x123; + } + + public class layout { + public const int main = 0x456; + } + + public class strings { + public const int first_string = 0xabc; + public const int second_string = 0xbcd; + } +} + +You would then use R.drawable.icon to reference the drawable/icon.png file, or R.layout.main +to reference the layout/main.axml file, or R.strings.first_string to reference the first +string in the dictionary file values/strings.xml. diff --git a/RevMob/samples/RevMob-Sample/Resources/Resource.designer.cs b/RevMob/samples/RevMob-Sample/Resources/Resource.designer.cs new file mode 100644 index 0000000..104e467 --- /dev/null +++ b/RevMob/samples/RevMob-Sample/Resources/Resource.designer.cs @@ -0,0 +1,200 @@ +#pragma warning disable 1591 +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.34014 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +[assembly: global::Android.Runtime.ResourceDesignerAttribute("RevMobSample.Resource", IsApplication=true)] + +namespace RevMobSample +{ + + + [System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")] + public partial class Resource + { + + static Resource() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + public static void UpdateIdValues() + { + } + + public partial class Attribute + { + + static Attribute() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Attribute() + { + } + } + + public partial class Color + { + + // aapt resource value: 0x7f040005 + public const int bisque = 2130968581; + + // aapt resource value: 0x7f040000 + public const int black = 2130968576; + + // aapt resource value: 0x7f040006 + public const int khaki = 2130968582; + + // aapt resource value: 0x7f040003 + public const int lightblue = 2130968579; + + // aapt resource value: 0x7f040004 + public const int mediumaquamarine = 2130968580; + + // aapt resource value: 0x7f040002 + public const int skyblue = 2130968578; + + // aapt resource value: 0x7f040001 + public const int white = 2130968577; + + static Color() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Color() + { + } + } + + public partial class Drawable + { + + // aapt resource value: 0x7f020000 + public const int button1 = 2130837504; + + // aapt resource value: 0x7f020001 + public const int button2 = 2130837505; + + // aapt resource value: 0x7f020002 + public const int button3 = 2130837506; + + // aapt resource value: 0x7f020003 + public const int button4 = 2130837507; + + // aapt resource value: 0x7f020004 + public const int button5 = 2130837508; + + // aapt resource value: 0x7f020005 + public const int ic_launcher = 2130837509; + + // aapt resource value: 0x7f020006 + public const int logo = 2130837510; + + // aapt resource value: 0x7f020007 + public const int revmob = 2130837511; + + static Drawable() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Drawable() + { + } + } + + public partial class Id + { + + // aapt resource value: 0x7f06000c + public const int banner = 2131099660; + + // aapt resource value: 0x7f060000 + public const int bannerCustomSize = 2131099648; + + // aapt resource value: 0x7f060002 + public const int bannerSpace = 2131099650; + + // aapt resource value: 0x7f060004 + public const int buttonBanner = 2131099652; + + // aapt resource value: 0x7f060006 + public const int buttonBannerCustomSize = 2131099654; + + // aapt resource value: 0x7f06000a + public const int buttonChangeActivity = 2131099658; + + // aapt resource value: 0x7f060005 + public const int buttonHideBanner = 2131099653; + + // aapt resource value: 0x7f06000b + public const int buttonOpenGLActivity = 2131099659; + + // aapt resource value: 0x7f060001 + public const int buttons = 2131099649; + + // aapt resource value: 0x7f060009 + public const int hideAbsoluteBanner = 2131099657; + + // aapt resource value: 0x7f060008 + public const int showAbsoluteBannerOnBottom = 2131099656; + + // aapt resource value: 0x7f060007 + public const int showAbsoluteBannerOnTop = 2131099655; + + // aapt resource value: 0x7f060003 + public const int textTestInfo = 2131099651; + + static Id() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Id() + { + } + } + + public partial class Layout + { + + // aapt resource value: 0x7f030000 + public const int Main = 2130903040; + + static Layout() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private Layout() + { + } + } + + public partial class String + { + + // aapt resource value: 0x7f050000 + public const int app_name = 2131034112; + + static String() + { + global::Android.Runtime.ResourceIdManager.UpdateIdValues(); + } + + private String() + { + } + } + } +} +#pragma warning restore 1591 diff --git a/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button1.xml b/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button1.xml new file mode 100644 index 0000000..8ac3e4f --- /dev/null +++ b/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button1.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button2.xml b/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button2.xml new file mode 100644 index 0000000..005d283 --- /dev/null +++ b/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button2.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button3.xml b/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button3.xml new file mode 100644 index 0000000..7b569e3 --- /dev/null +++ b/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button3.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button4.xml b/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button4.xml new file mode 100644 index 0000000..de64364 --- /dev/null +++ b/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button4.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button5.xml b/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button5.xml new file mode 100644 index 0000000..0e8007f --- /dev/null +++ b/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/button5.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/logo.png b/RevMob/samples/RevMob-Sample/Resources/drawable-hdpi/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..2a9d9c4807347fd1bee157f439ffc0e7dddf1a97 GIT binary patch literal 5926 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 + + + + + +