diff --git a/.gitignore b/.gitignore
index 8a6b91771..6e70e68df 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,9 @@ output/
*.xcuserstate
*.xcuserstate
+*.nuspec
+!*.template.nuspec
+
Resource.designer.cs
component.yaml
GettingStarted.md
diff --git a/GooglePlayServices.sln b/GooglePlayServices.sln
index f73367b4b..7007962b5 100644
--- a/GooglePlayServices.sln
+++ b/GooglePlayServices.sln
@@ -1,20 +1,16 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Bindings", "Bindings", "{AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "PlayServices", "PlayServices", "{AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppState", "appstate\source\AppState.csproj", "{8B84EE13-119C-41EB-98E8-E42D3ECD0DFD}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Identity", "identity\source\Identity.csproj", "{09362350-BB7F-4B4C-83B5-97F5C439B649}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gcm", "gcm\source\Gcm.csproj", "{1CE82D7E-9EA1-435F-AF8C-5E07AB917617}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Measurement", "measurement\source\Measurement.csproj", "{5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analytics", "analytics\source\Analytics.csproj", "{EA04524D-2A97-4ED0-AD74-21F8C30DF4A5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppIndexing", "appindexing\source\AppIndexing.csproj", "{A069B942-EE12-4283-8C4C-F46549D3978A}"
@@ -53,9 +49,67 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Wearable", "wearable\source
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ads", "ads\source\Ads.csproj", "{CC4E534D-4992-4FBB-9528-A071EDDEA7E7}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ads.Lite", "ads-lite\source\Ads.Lite.csproj", "{ECB1F68B-B588-4F3B-9A86-510CF4AAA784}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Auth.Base", "auth-base\source\Auth.Base.csproj", "{B04C50F7-B0CC-4170-8820-9D584E1C0ED3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analytics.Impl", "analytics-impl\source\Analytics.Impl.csproj", "{7893F52D-09B9-4441-AC47-6F7875BD68BC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Iid", "iid\source\Iid.csproj", "{9F7F996D-AF44-4947-8392-07B3ED2ED00D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagManager", "tagmanager\source\TagManager.csproj", "{2EA64B09-174C-40D0-9A40-44C2BF10C9D4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagManager.Api", "tagmanager-api\source\TagManager.Api.csproj", "{B94069F7-2BD5-4695-B7B7-EBAA1C496DD9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Firebase", "Firebase", "{1EC5651F-83A6-4862-AED2-6BE5103652D0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Common", "firebase-common\source\Firebase-Common.csproj", "{865652D3-8D1A-4779-92FC-4C54719286B7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Analytics", "firebase-analytics\source\Firebase-Analytics.csproj", "{DC5BEB52-1715-4E53-88EF-2D4F1708E394}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Iid", "firebase-iid\source\Firebase-Iid.csproj", "{B28F65D1-D8DD-45E8-9DD7-74A3BE40B4CE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Analytics-Impl", "firebase-analytics-impl\source\Firebase-Analytics-Impl.csproj", "{CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Config", "firebase-config\source\Firebase-Config.csproj", "{00F7A18F-D2C4-4014-8E4C-552A0A0B0967}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Crash", "firebase-crash\source\Firebase-Crash.csproj", "{7076C84E-08AE-404B-8F3C-8F66010FA1B1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Auth-Common", "firebase-auth-common\source\Firebase-Auth-Common.csproj", "{F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Auth", "firebase-auth\source\Firebase-Auth.csproj", "{62946D89-B6B1-4A38-A04D-C20912087EFD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Auth-Module", "firebase-auth-module\source\Firebase-Auth-Module.csproj", "{7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Database-Connection", "firebase-database-connection\source\Firebase-Database-Connection.csproj", "{2858C3DB-1E15-4D12-AF09-02CFD624ADD4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Database", "firebase-database\source\Firebase-Database.csproj", "{B02737A0-890C-4921-83A5-D77CFB8A6899}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Messaging", "firebase-messaging\source\Firebase-Messaging.csproj", "{2E333450-68BD-48C5-9540-CFA7A053DCA1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Storage-Common", "firebase-storage-common\source\Firebase-Storage-Common.csproj", "{C360116C-0ED5-4E59-A974-E95F874B4398}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Storage", "firebase-storage\source\Firebase-Storage.csproj", "{423414D9-6CB8-4AFF-8317-66AD03B6056D}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "BuildTasks", "BuildTasks", "{3330092C-6EB0-4AB6-9901-2F4070E2FD81}"
+EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement-BuildTasks", "basement\buildtasks\Basement-BuildTasks.csproj", "{21D99A15-AB98-4691-A45B-D236B2A91DEB}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GpsBuildAll", "all\samples\GpsBuildAll\GpsBuildAll.csproj", "{A9BE4750-6DFD-412E-B998-26B725911CF3}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement.BuildTasks.Tests", "basement\buildtasks.tests\Basement.BuildTasks.Tests.csproj", "{76CDBE93-0177-4980-8514-C4D785E1DC78}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cast.Framework", "cast-framework\source\Cast.Framework.csproj", "{159A8C21-0A5B-4D99-9E07-6466F8E98AF7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Clearcut", "clearcut\source\Clearcut.csproj", "{44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gass", "gass\source\Gass.csproj", "{D705BF83-81FD-4CD9-AF3B-09C50FF42C83}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Places", "places\source\Places.csproj", "{D42D621B-0370-44F6-A58E-0749629F9F4D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Awareness", "awareness\source\Awareness.csproj", "{541FC839-6065-4681-B6A4-C3BF358F78E9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "InstantApps", "instantapps\source\InstantApps.csproj", "{D7F811D2-C5E2-45BB-B7AB-88F7941A24B7}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -63,6 +117,10 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {00F7A18F-D2C4-4014-8E4C-552A0A0B0967}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {00F7A18F-D2C4-4014-8E4C-552A0A0B0967}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {00F7A18F-D2C4-4014-8E4C-552A0A0B0967}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {00F7A18F-D2C4-4014-8E4C-552A0A0B0967}.Release|Any CPU.Build.0 = Release|Any CPU
{09362350-BB7F-4B4C-83B5-97F5C439B649}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{09362350-BB7F-4B4C-83B5-97F5C439B649}.Debug|Any CPU.Build.0 = Debug|Any CPU
{09362350-BB7F-4B4C-83B5-97F5C439B649}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -75,26 +133,54 @@ Global
{21D99A15-AB98-4691-A45B-D236B2A91DEB}.Debug|Any CPU.Build.0 = Debug|Any CPU
{21D99A15-AB98-4691-A45B-D236B2A91DEB}.Release|Any CPU.ActiveCfg = Release|Any CPU
{21D99A15-AB98-4691-A45B-D236B2A91DEB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2858C3DB-1E15-4D12-AF09-02CFD624ADD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2858C3DB-1E15-4D12-AF09-02CFD624ADD4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2858C3DB-1E15-4D12-AF09-02CFD624ADD4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2858C3DB-1E15-4D12-AF09-02CFD624ADD4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2E333450-68BD-48C5-9540-CFA7A053DCA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2E333450-68BD-48C5-9540-CFA7A053DCA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2E333450-68BD-48C5-9540-CFA7A053DCA1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2E333450-68BD-48C5-9540-CFA7A053DCA1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2EA64B09-174C-40D0-9A40-44C2BF10C9D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2EA64B09-174C-40D0-9A40-44C2BF10C9D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2EA64B09-174C-40D0-9A40-44C2BF10C9D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2EA64B09-174C-40D0-9A40-44C2BF10C9D4}.Release|Any CPU.Build.0 = Release|Any CPU
{3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.Build.0 = Release|Any CPU
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}.Release|Any CPU.Build.0 = Release|Any CPU
+ {423414D9-6CB8-4AFF-8317-66AD03B6056D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {423414D9-6CB8-4AFF-8317-66AD03B6056D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {423414D9-6CB8-4AFF-8317-66AD03B6056D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {423414D9-6CB8-4AFF-8317-66AD03B6056D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
{5DF42846-151E-40CD-A349-C0A0C6216F7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{5DF42846-151E-40CD-A349-C0A0C6216F7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{5DF42846-151E-40CD-A349-C0A0C6216F7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{5DF42846-151E-40CD-A349-C0A0C6216F7B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {62946D89-B6B1-4A38-A04D-C20912087EFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {62946D89-B6B1-4A38-A04D-C20912087EFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {62946D89-B6B1-4A38-A04D-C20912087EFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {62946D89-B6B1-4A38-A04D-C20912087EFD}.Release|Any CPU.Build.0 = Release|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7076C84E-08AE-404B-8F3C-8F66010FA1B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7076C84E-08AE-404B-8F3C-8F66010FA1B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7076C84E-08AE-404B-8F3C-8F66010FA1B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7076C84E-08AE-404B-8F3C-8F66010FA1B1}.Release|Any CPU.Build.0 = Release|Any CPU
{72CC5E29-5EA5-40E3-98E4-87ED8AB75589}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{72CC5E29-5EA5-40E3-98E4-87ED8AB75589}.Debug|Any CPU.Build.0 = Debug|Any CPU
{72CC5E29-5EA5-40E3-98E4-87ED8AB75589}.Release|Any CPU.ActiveCfg = Release|Any CPU
{72CC5E29-5EA5-40E3-98E4-87ED8AB75589}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}.Release|Any CPU.Build.0 = Release|Any CPU
{7A015585-036A-4BD1-8D46-A669EFA89743}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7A015585-036A-4BD1-8D46-A669EFA89743}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7A015585-036A-4BD1-8D46-A669EFA89743}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -107,18 +193,22 @@ Global
{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}.Release|Any CPU.Build.0 = Release|Any CPU
{7DD8E926-9F75-4F25-95A3-920A5FF48EF8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7DD8E926-9F75-4F25-95A3-920A5FF48EF8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7DD8E926-9F75-4F25-95A3-920A5FF48EF8}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7DD8E926-9F75-4F25-95A3-920A5FF48EF8}.Release|Any CPU.Build.0 = Release|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Release|Any CPU.Build.0 = Release|Any CPU
{8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Release|Any CPU.Build.0 = Release|Any CPU
- {8B84EE13-119C-41EB-98E8-E42D3ECD0DFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8B84EE13-119C-41EB-98E8-E42D3ECD0DFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8B84EE13-119C-41EB-98E8-E42D3ECD0DFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8B84EE13-119C-41EB-98E8-E42D3ECD0DFD}.Release|Any CPU.Build.0 = Release|Any CPU
{8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -131,6 +221,10 @@ Global
{9E3CD219-C950-4AA9-88E5-818F42C12566}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9E3CD219-C950-4AA9-88E5-818F42C12566}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9E3CD219-C950-4AA9-88E5-818F42C12566}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D}.Release|Any CPU.Build.0 = Release|Any CPU
{A069B942-EE12-4283-8C4C-F46549D3978A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A069B942-EE12-4283-8C4C-F46549D3978A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A069B942-EE12-4283-8C4C-F46549D3978A}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -151,34 +245,92 @@ Global
{A7ADD277-FCAB-46D5-8F18-2E4BFFDA3AE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A7ADD277-FCAB-46D5-8F18-2E4BFFDA3AE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A7ADD277-FCAB-46D5-8F18-2E4BFFDA3AE7}.Release|Any CPU.Build.0 = Release|Any CPU
- {A9BE4750-6DFD-412E-B998-26B725911CF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A9BE4750-6DFD-412E-B998-26B725911CF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A9BE4750-6DFD-412E-B998-26B725911CF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A9BE4750-6DFD-412E-B998-26B725911CF3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B02737A0-890C-4921-83A5-D77CFB8A6899}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B02737A0-890C-4921-83A5-D77CFB8A6899}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B02737A0-890C-4921-83A5-D77CFB8A6899}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B02737A0-890C-4921-83A5-D77CFB8A6899}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B04C50F7-B0CC-4170-8820-9D584E1C0ED3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B04C50F7-B0CC-4170-8820-9D584E1C0ED3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B04C50F7-B0CC-4170-8820-9D584E1C0ED3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B04C50F7-B0CC-4170-8820-9D584E1C0ED3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B28F65D1-D8DD-45E8-9DD7-74A3BE40B4CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B28F65D1-D8DD-45E8-9DD7-74A3BE40B4CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B28F65D1-D8DD-45E8-9DD7-74A3BE40B4CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B28F65D1-D8DD-45E8-9DD7-74A3BE40B4CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B94069F7-2BD5-4695-B7B7-EBAA1C496DD9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B94069F7-2BD5-4695-B7B7-EBAA1C496DD9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B94069F7-2BD5-4695-B7B7-EBAA1C496DD9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B94069F7-2BD5-4695-B7B7-EBAA1C496DD9}.Release|Any CPU.Build.0 = Release|Any CPU
{C1A9C587-B744-44D2-AD42-14386D424667}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C1A9C587-B744-44D2-AD42-14386D424667}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C1A9C587-B744-44D2-AD42-14386D424667}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C1A9C587-B744-44D2-AD42-14386D424667}.Release|Any CPU.Build.0 = Release|Any CPU
+ {C360116C-0ED5-4E59-A974-E95F874B4398}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {C360116C-0ED5-4E59-A974-E95F874B4398}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {C360116C-0ED5-4E59-A974-E95F874B4398}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {C360116C-0ED5-4E59-A974-E95F874B4398}.Release|Any CPU.Build.0 = Release|Any CPU
{CC4E534D-4992-4FBB-9528-A071EDDEA7E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CC4E534D-4992-4FBB-9528-A071EDDEA7E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC4E534D-4992-4FBB-9528-A071EDDEA7E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC4E534D-4992-4FBB-9528-A071EDDEA7E7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}.Release|Any CPU.Build.0 = Release|Any CPU
{EA04524D-2A97-4ED0-AD74-21F8C30DF4A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{EA04524D-2A97-4ED0-AD74-21F8C30DF4A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA04524D-2A97-4ED0-AD74-21F8C30DF4A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EA04524D-2A97-4ED0-AD74-21F8C30DF4A5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}.Release|Any CPU.Build.0 = Release|Any CPU
{F666DC89-9CE4-491C-8450-6FBC70298FA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{F666DC89-9CE4-491C-8450-6FBC70298FA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F666DC89-9CE4-491C-8450-6FBC70298FA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F666DC89-9CE4-491C-8450-6FBC70298FA3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {76CDBE93-0177-4980-8514-C4D785E1DC78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {76CDBE93-0177-4980-8514-C4D785E1DC78}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {76CDBE93-0177-4980-8514-C4D785E1DC78}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {76CDBE93-0177-4980-8514-C4D785E1DC78}.Release|Any CPU.Build.0 = Release|Any CPU
+ {159A8C21-0A5B-4D99-9E07-6466F8E98AF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {159A8C21-0A5B-4D99-9E07-6466F8E98AF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {159A8C21-0A5B-4D99-9E07-6466F8E98AF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {159A8C21-0A5B-4D99-9E07-6466F8E98AF7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {541FC839-6065-4681-B6A4-C3BF358F78E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {541FC839-6065-4681-B6A4-C3BF358F78E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {541FC839-6065-4681-B6A4-C3BF358F78E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {541FC839-6065-4681-B6A4-C3BF358F78E9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D7F811D2-C5E2-45BB-B7AB-88F7941A24B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D7F811D2-C5E2-45BB-B7AB-88F7941A24B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D7F811D2-C5E2-45BB-B7AB-88F7941A24B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D7F811D2-C5E2-45BB-B7AB-88F7941A24B7}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
{3F6BAE25-ADEB-468C-8384-AD655623C341} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
- {8B84EE13-119C-41EB-98E8-E42D3ECD0DFD} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
{09362350-BB7F-4B4C-83B5-97F5C439B649} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
{1CE82D7E-9EA1-435F-AF8C-5E07AB917617} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
{EA04524D-2A97-4ED0-AD74-21F8C30DF4A5} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
{A069B942-EE12-4283-8C4C-F46549D3978A} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
{A069B942-EE12-4283-9C4C-F46549D3978A} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
@@ -198,6 +350,34 @@ Global
{7AF74235-AEE2-4F3A-AEDB-7504ED93DDC0} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
{92BDA198-6A78-4408-844C-CAAF4C04EAFD} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
{CC4E534D-4992-4FBB-9528-A071EDDEA7E7} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
- {21D99A15-AB98-4691-A45B-D236B2A91DEB} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {B04C50F7-B0CC-4170-8820-9D584E1C0ED3} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {2EA64B09-174C-40D0-9A40-44C2BF10C9D4} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {B94069F7-2BD5-4695-B7B7-EBAA1C496DD9} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {865652D3-8D1A-4779-92FC-4C54719286B7} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {B28F65D1-D8DD-45E8-9DD7-74A3BE40B4CE} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {00F7A18F-D2C4-4014-8E4C-552A0A0B0967} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {7076C84E-08AE-404B-8F3C-8F66010FA1B1} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {F53B34FB-4BBC-4314-8D8A-1F0CD959E83F} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {62946D89-B6B1-4A38-A04D-C20912087EFD} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {2858C3DB-1E15-4D12-AF09-02CFD624ADD4} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {B02737A0-890C-4921-83A5-D77CFB8A6899} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {2E333450-68BD-48C5-9540-CFA7A053DCA1} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {C360116C-0ED5-4E59-A974-E95F874B4398} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {423414D9-6CB8-4AFF-8317-66AD03B6056D} = {1EC5651F-83A6-4862-AED2-6BE5103652D0}
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB} = {3330092C-6EB0-4AB6-9901-2F4070E2FD81}
+ {76CDBE93-0177-4980-8514-C4D785E1DC78} = {3330092C-6EB0-4AB6-9901-2F4070E2FD81}
+ {159A8C21-0A5B-4D99-9E07-6466F8E98AF7} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {D42D621B-0370-44F6-A58E-0749629F9F4D} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {541FC839-6065-4681-B6A4-C3BF358F78E9} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
+ {D7F811D2-C5E2-45BB-B7AB-88F7941A24B7} = {AFB1EDA0-E0D2-4E95-BAEC-9781B046413E}
EndGlobalSection
EndGlobal
diff --git a/GpsConsts.cs b/GpsConsts.cs
index ac66c77d6..1b44dce25 100644
--- a/GpsConsts.cs
+++ b/GpsConsts.cs
@@ -3,6 +3,17 @@
// https://dl-ssl.google.com/android/repository/addon.xml
static class __GpsConsts {
- public const string Url = "https://dl-ssl.google.com/android/repository/google_m2repository_r24.zip";
- public const string Version = "8.4.0";
-}
\ No newline at end of file
+ public const string Url = "https://dl-ssl.google.com/android/repository/google_m2repository_r36.zip";
+ public const string Sha1sum = "fa55e43b0175167da7f8cbedea35331cd448cf9b";
+ public const string Version = "9.6.1";
+ public const string WearVersion = "1.4.0";
+ public const string PackageName = "Xamarin.GooglePlayServices";
+}
+
+static class __FbConsts
+{
+ public const string PackageName = __GpsConsts.PackageName;
+ public const string Url = __GpsConsts.Url;
+ public const string Sha1sum = __GpsConsts.Sha1sum;
+ public const string Version = __GpsConsts.Version;
+}
diff --git a/LICENSE.md b/LICENSE.md
index 9a882d528..13cc24455 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,3 +1,9 @@
+
+**Xamarin is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may require or install dependencies which are governed by additional licenses.**
+
+This component depends on [Google Play Services Client Library](https://developers.google.com/android/guides/overview), which is subject to the terms of [Android Software Development Kit License Agreement](http://developer.android.com/sdk/terms.html)
+
+### Xamarin Component for Google Play Services Client Library
The MIT License (MIT)
Copyright (c) .NET Foundation Contributors
@@ -8,4 +14,4 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-20160427
+20160427
\ No newline at end of file
diff --git a/README.md b/README.md
index 02321da3e..e40850c80 100644
--- a/README.md
+++ b/README.md
@@ -68,6 +68,27 @@ You may want to consider passing `--verbosity diagnostic` (or `-Verbosity diagno
Before the `.sln` files will compile in Visual Studio or Xamarin Studio, the external dependencies need to be downloaded. This can be done by running the `build.sh` or `build.ps1` with the target `externals`. After the externals are setup, the `.sln` files should compile in an IDE.
+### Versioning
+
+Historically, Component and later NuGet package versions were based on the revision number of the Google Play Services SDK from the SDK Manager, and later based on the Google Play Services Maven Repository (m2repository) version from the SDK Manager. Because of this, the versions of the components and NuGet packages do not match the version strings of Google Play Services releases from Google. Here is a table which shows a translation of versions mapped to Google's version strings:
+
+
+| NuGet / Component Version | Google m2repository Version | Google Play Services Version |
+|---------------------------|------------------------------|------------------------------|
+| 25.0 | 19 (GPS SDK 25) | 7.5.0 |
+| 26.0 | 21 (GPS SDK 26) | 7.8.0 |
+| 27.0 | 22 (GPS SDK 27) | 8.1.0 |
+| 29.0 | 24 (GPS SDK 29) | 8.4.0 |
+| | 25 | 8.4.0 (no binary changes) |
+| | 26 | 9.0.0 |
+| 30.0.1.alpha4 | 27 (GPS SDK 30) | 9.0.1 |
+| 30.0.2-alpha1 | 28 | 9.0.2 |
+| | 29 | 9.2.0 |
+| | 30 | (never published) |
+| | 31 | 9.2.1 |
+| 32.4.0-beta2 | 32 | 9.4.0 |
+
+
## License
The license for this repository is specified in
diff --git a/ads-lite/nuget/Xamarin.GooglePlayServices.Ads.Lite.template.nuspec b/ads-lite/nuget/Xamarin.GooglePlayServices.Ads.Lite.template.nuspec
new file mode 100644
index 000000000..cee39994a
--- /dev/null
+++ b/ads-lite/nuget/Xamarin.GooglePlayServices.Ads.Lite.template.nuspec
@@ -0,0 +1,27 @@
+
+
+
+ Xamarin.GooglePlayServices.Ads.Lite
+ Xamarin Google Play Services - Ads Lite
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - Ads Lite $aar-version$
+
+ Xamarin.Android Bindings for Google Play Services - Ads Lite $aar-version$
+
+ The Google Mobile Ads SDK is the latest generation in Google mobile advertising, featuring refined ad formats and streamlined APIs for access to mobile ad networks and advertising solutions. The SDK enables mobile app developers to maximize their monetization in native mobile apps.
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-ads-lite_128x128.png
+
+
+
+
+
+
+
+
diff --git a/appstate/source/Additions/AboutAdditions.txt b/ads-lite/source/Additions/AboutAdditions.txt
similarity index 100%
rename from appstate/source/Additions/AboutAdditions.txt
rename to ads-lite/source/Additions/AboutAdditions.txt
diff --git a/ads/source/Additions/Manifest.cs b/ads-lite/source/Additions/Manifest.cs
similarity index 100%
rename from ads/source/Additions/Manifest.cs
rename to ads-lite/source/Additions/Manifest.cs
diff --git a/ads-lite/source/Ads.Lite.csproj b/ads-lite/source/Ads.Lite.csproj
new file mode 100644
index 000000000..104b36763
--- /dev/null
+++ b/ads-lite/source/Ads.Lite.csproj
@@ -0,0 +1,75 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 8.0.30703
+ 2.0
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}
+ Library
+ GooglePlayServices.Ads.Lite
+ Resources
+ Assets
+ False
+ Xamarin.GooglePlayServices.Ads.Lite
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+
+
+ Jars\play-services-ads-lite.jar
+
+
+
diff --git a/appstate/source/Jars/AboutJars.txt b/ads-lite/source/Jars/AboutJars.txt
similarity index 100%
rename from appstate/source/Jars/AboutJars.txt
rename to ads-lite/source/Jars/AboutJars.txt
diff --git a/ads-lite/source/Properties/AssemblyInfo.cs b/ads-lite/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..3e0329490
--- /dev/null
+++ b/ads-lite/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.GooglePlayServices.Ads.Lite")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-ads-lite/" + __GpsConsts.Version + "/play-services-ads-lite-" + __GpsConsts.Version + ".aar";
+}
diff --git a/appstate/source/Transforms/EnumFields.xml b/ads-lite/source/Transforms/EnumFields.xml
similarity index 100%
rename from appstate/source/Transforms/EnumFields.xml
rename to ads-lite/source/Transforms/EnumFields.xml
diff --git a/appstate/source/Transforms/EnumMethods.xml b/ads-lite/source/Transforms/EnumMethods.xml
similarity index 100%
rename from appstate/source/Transforms/EnumMethods.xml
rename to ads-lite/source/Transforms/EnumMethods.xml
diff --git a/appstate/source/Transforms/Metadata.generated.xml b/ads-lite/source/Transforms/Metadata.generated.xml
similarity index 100%
rename from appstate/source/Transforms/Metadata.generated.xml
rename to ads-lite/source/Transforms/Metadata.generated.xml
diff --git a/ads-lite/source/Transforms/Metadata.xml b/ads-lite/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..46e463aff
--- /dev/null
+++ b/ads-lite/source/Transforms/Metadata.xml
@@ -0,0 +1,107 @@
+
+
+
+ Google.Ads
+ Google.Ads.Mediation
+ Google.Ads.Mediation.Admob
+ Google.Ads.Mediation.CustomEvent
+ Google.Ads.Afma.Nano
+
+ Android.Gms.Ads
+ Android.Gms.Ads.Formats
+
+ Android.Gms.Ads.Reward
+ Android.Gms.Ads.Reward.Mediation
+ Android.Gms.Ads.DoubleClick
+ Android.Gms.Ads.Mediation
+ Android.Gms.Ads.Mediation.Admob
+ Android.Gms.Ads.Mediation.CustomEvent
+ Android.Gms.Ads.Purchase
+ Android.Gms.Ads.Search
+ Android.Gms.Internal
+
+ name
+ data
+ errorCode
+ inAppPurchase
+ productId
+ inAppPurchaseResult
+
+
+
+
+
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
+
+ public
+
+
+ BannerDismissScreenEventArgs
+ BannerFailedToReceiveAdEventArgs
+ BannerLeaveApplicationEventArgs
+ BannerPresentScreenEventArgs
+ BannerReceiveAdEventArgs
+
+ IntersitionalDismissScreenEventArgs
+ IntersitionalFailedToReceiveAdEventArgs
+ InterstitialLeaveApplicationEventArgs
+ InterstitialPresentScreenEventArgs
+ InterstitialReceiveAdEventArgs
+
+ MediationInterstitialAdClickedEventArgs
+ MediationInterstitialAdClosedEventArgs
+ MediationInterstitialAdFailedToLoadEventArgs
+ MediationInterstitialAdLeftApplicationEventArgs
+ MediationInterstitialAdLoadedEventArgs
+ MediationInterstitialAdOpenedEventArgs
+
+ MediationBannerAdClickedEventArgs
+ MediationBannerAdClosedEventArgs
+ MediationBannerAdFailedToLoadEventArgs
+ MediationBannerAdLeftApplicationEventArgs
+ MediationBannerAdLoadedEventArgs
+ MediationBannerAdOpenedEventArgs
+
+
+ ad
+ ad
+ ad
+ ad
+
+ errorCode
+
+ errorCode
+ errorCode
+
+
+ adapter
+ adapter
+ errorCode
+ adapter
+ adapter
+ adapter
+ adapter
+
+ adapter
+ adapter
+ errorCode
+ adapter
+ adapter
+ adapter
+
+ ad
+
+
diff --git a/ads/component/component.template.yaml b/ads/component/component.template.yaml
index 06489d4fa..a8a34572a 100644
--- a/ads/component/component.template.yaml
+++ b/ads/component/component.template.yaml
@@ -4,14 +4,10 @@ id: googleplayservices-ads
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: Make money and advertise across screens and platforms.
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-ads_128x128.png
- - icons/googleplayservices-ads_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Ads.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
+ - ../../icons/play-services-ads_128x128.png
+ - ../../icons/play-services-ads_512x512.png
is_shell: true
packages:
android:
@@ -20,12 +16,22 @@ samples:
- name: "AdMob Sample"
path: ../../ads/samples/AdMobSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Ads
+ - Base
+ - Basement
+ - Clearcut
+ - Gass
+ - Tasks
+ - Ads
+ - Ads.Lite
installNuGets:
- project: AdMobSample
packages:
+ - Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Clearcut
+ - Xamarin.GooglePlayServices.Gass
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Ads
+ - Xamarin.GooglePlayServices.Ads.Lite
local-nuget-repo: ../../output/
no_build: true
diff --git a/ads/component/icons/googleplayservices-ads_128x128.png b/ads/component/icons/googleplayservices-ads_128x128.png
deleted file mode 100644
index 53343f926..000000000
Binary files a/ads/component/icons/googleplayservices-ads_128x128.png and /dev/null differ
diff --git a/ads/component/icons/googleplayservices-ads_512x512.png b/ads/component/icons/googleplayservices-ads_512x512.png
deleted file mode 100644
index 12cdb2c0a..000000000
Binary files a/ads/component/icons/googleplayservices-ads_512x512.png and /dev/null differ
diff --git a/ads/nuget/Xamarin.GooglePlayServices.Ads.nuspec b/ads/nuget/Xamarin.GooglePlayServices.Ads.template.nuspec
similarity index 59%
rename from ads/nuget/Xamarin.GooglePlayServices.Ads.nuspec
rename to ads/nuget/Xamarin.GooglePlayServices.Ads.template.nuspec
index 503f13955..c02bd92a5 100644
--- a/ads/nuget/Xamarin.GooglePlayServices.Ads.nuspec
+++ b/ads/nuget/Xamarin.GooglePlayServices.Ads.template.nuspec
@@ -7,21 +7,25 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Ads
+ Xamarin.Android Bindings for Google Play Services - Ads $aar-version$
- Xamarin.Android Bindings for Google Play Services - Ads
+ Xamarin.Android Bindings for Google Play Services - Ads $aar-version$
The Google Mobile Ads SDK is the latest generation in Google mobile advertising, featuring refined ad formats and streamlined APIs for access to mobile ad networks and advertising solutions. The SDK enables mobile app developers to maximize their monetization in native mobile apps.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-ads/
http://components.xamarin.com/license/googleplayservices-ads/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Ads.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-ads_128x128.png
+
+
+
+
-
+
diff --git a/ads/samples/AdMobSample.UITests/AdMobSample.UITests.csproj b/ads/samples/AdMobSample.UITests/AdMobSample.UITests.csproj
index a237bee96..4ddb4d852 100644
--- a/ads/samples/AdMobSample.UITests/AdMobSample.UITests.csproj
+++ b/ads/samples/AdMobSample.UITests/AdMobSample.UITests.csproj
@@ -31,12 +31,12 @@
-
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
-
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
diff --git a/ads/samples/AdMobSample.UITests/packages.config b/ads/samples/AdMobSample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/ads/samples/AdMobSample.UITests/packages.config
+++ b/ads/samples/AdMobSample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/ads/samples/AdMobSample.sln b/ads/samples/AdMobSample.sln
index 99e05e3ba..f1d541997 100644
--- a/ads/samples/AdMobSample.sln
+++ b/ads/samples/AdMobSample.sln
@@ -9,6 +9,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ads", "..\source\Ads.csproj
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ads.Lite", "..\..\ads-lite\source\Ads.Lite.csproj", "{ECB1F68B-B588-4F3B-9A86-510CF4AAA784}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gass", "..\..\gass\source\Gass.csproj", "{D705BF83-81FD-4CD9-AF3B-09C50FF42C83}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Clearcut", "..\..\clearcut\source\Clearcut.csproj", "{44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -19,6 +29,14 @@ Global
{34C2F5ED-29E6-41F7-8898-6C17653AD59D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{34C2F5ED-29E6-41F7-8898-6C17653AD59D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{34C2F5ED-29E6-41F7-8898-6C17653AD59D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -31,5 +49,17 @@ Global
{CC4E534D-4992-4FBB-9528-A071EDDEA7E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC4E534D-4992-4FBB-9528-A071EDDEA7E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC4E534D-4992-4FBB-9528-A071EDDEA7E7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Release|Any CPU.Build.0 = Release|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/ads/samples/AdMobSample/AdMobSample.csproj b/ads/samples/AdMobSample/AdMobSample.csproj
index ba8d9aab6..6d1e45743 100644
--- a/ads/samples/AdMobSample/AdMobSample.csproj
+++ b/ads/samples/AdMobSample/AdMobSample.csproj
@@ -17,7 +17,7 @@
False
AdMob
Properties\AndroidManifest.xml
- v4.1
+ v7.0
armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
@@ -46,8 +46,23 @@
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -95,5 +110,13 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}
+ Ads.Lite
+
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
\ No newline at end of file
diff --git a/ads/samples/AdMobSample/Properties/AssemblyInfo.cs b/ads/samples/AdMobSample/Properties/AssemblyInfo.cs
index 8930e47d8..3828018bd 100644
--- a/ads/samples/AdMobSample/Properties/AssemblyInfo.cs
+++ b/ads/samples/AdMobSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("AdMob")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/ads/samples/AdMobSample/packages.config b/ads/samples/AdMobSample/packages.config
index 8997892ec..71e0c9953 100644
--- a/ads/samples/AdMobSample/packages.config
+++ b/ads/samples/AdMobSample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ads/source/Ads.csproj b/ads/source/Ads.csproj
index 8e2a04b72..2c8e10b97 100644
--- a/ads/source/Ads.csproj
+++ b/ads/source/Ads.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
8.0.30703
2.0
{CC4E534D-4992-4FBB-9528-A071EDDEA7E7}
@@ -13,7 +13,8 @@
Assets
False
Xamarin.GooglePlayServices.Ads
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
@@ -47,7 +48,6 @@
Properties\GpsConsts.cs
-
@@ -70,5 +70,21 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}
+ Ads.Lite
+
+
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}
+ Clearcut
+
+
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}
+ Gass
+
-
\ No newline at end of file
+
diff --git a/ads/source/Properties/AssemblyInfo.cs b/ads/source/Properties/AssemblyInfo.cs
index 15bf29eae..a3d830eba 100644
--- a/ads/source/Properties/AssemblyInfo.cs
+++ b/ads/source/Properties/AssemblyInfo.cs
@@ -27,21 +27,22 @@
//[assembly: AssemblyKeyFile("")]
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS Ads";
public const string AarPath = "m2repository/com/google/android/gms/play-services-ads/" + __GpsConsts.Version + "/play-services-ads-" + __GpsConsts.Version + ".aar";
-}
\ No newline at end of file
+}
diff --git a/ads/source/Transforms/Metadata.generated.xml b/ads/source/Transforms/Metadata.generated.xml
index 2a51ed640..26c2f6238 100644
--- a/ads/source/Transforms/Metadata.generated.xml
+++ b/ads/source/Transforms/Metadata.generated.xml
@@ -1,1270 +1,2 @@
- nameValue
- nameValue
- width
- height
- adSize
- other
- options
- context
- context
- width
- height
- input
- input
- data
- output
- input
- input
- data
- output
- input
- input
- data
- output
- input
- input
- data
- output
- input
- input
- data
- output
- input
- input
- data
- output
- serverParameters
- context
- mediationAdRequest
- userId
- listener
- serverParameters
- networkExtras
- mediationAdRequest
- serverParameters
- networkExtras
- context
- bannerListener
- serverParameters
- adSize
- mediationAdRequest
- extras
- context
- interstitialListener
- serverParameters
- mediationAdRequest
- extras
- context
- listener
- serverParameters
- mediationAdRequest
- extras
- serverParameters
- birthday
- gender
- keywords
- isTesting
- location
- adapter
- adapter
- adapter
- errorCode
- adapter
- adapter
- adapter
- adapter
- adapter
- errorCode
- adapter
- adapter
- adapter
- parameters
- message
- listener
- activity
- serverParameters
- adSize
- mediationAdRequest
- customEventExtras
- listener
- activity
- serverParameters
- mediationAdRequest
- customEventExtras
- view
- savedInstanceState
- outState
- layoutResID
- view
- view
- parameters
- errorCode
- adRequest
- publisherAdRequest
- context
- adUnitID
- listener
- listener
- templateId
- adLoadedListener
- customClickListener
- listener
- correlator
- options
- adapterClass
- networkExtrasClass
- adapterClass
- context
- adapterClass
- customEventExtras
- keyword
- networkExtras
- adapterClass
- networkExtras
- deviceId
- birthday
- contentUrl
- gender
- isDesignedForFamilies
- location
- requestAgent
- tagForChildDirectedTreatment
- width
- height
- other
- context
- context
- context
- context
- attrs
- context
- attrs
- defStyle
- context
- adRequest
- adListener
- adUnitId
- inAppPurchaseListener
- playStorePurchaseListener
- publicKey
- rewardedVideoAdListener
- context
- context
- context
- applicationCode
- context
- applicationCode
- settings
- volume
- enable
- trackingId
- context
- context
- attrs
- context
- attrs
- defStyle
- view
- adapterClass
- networkExtrasClass
- adapterClass
- context
- categoryExclusion
- adapterClass
- customEventExtras
- key
- value
- key
- values
- keyword
- networkExtras
- adapterClass
- networkExtras
- deviceId
- birthday
- contentUrl
- gender
- isDesignedForFamilies
- location
- manualImpressionsEnabled
- publisherProvidedId
- requestAgent
- tagForChildDirectedTreatment
- context
- context
- attrs
- context
- attrs
- defStyle
- publisherAdRequest
- changed
- left
- top
- right
- bottom
- widthMeasureSpec
- heightMeasureSpec
- adListener
- adSizes
- adUnitId
- appEventListener
- correlator
- manualImpressionsEnabled
- onCustomRenderedAdLoadedListener
- context
- publisherAdRequest
- adListener
- adUnitId
- appEventListener
- correlator
- onCustomRenderedAdLoadedListener
- orientation
- shouldRequestMultipleImages
- shouldReturnUrls
- context
- context
- attrs
- context
- attrs
- defStyleAttr
- context
- attrs
- defStyleAttr
- defStyleRes
- child
- index
- parameters
- child
- child
- context
- context
- attrs
- context
- attrs
- defStyleAttr
- context
- attrs
- defStyleAttr
- defStyleRes
- view
- view
- view
- view
- view
- view
- view
- view
- context
- context
- attrs
- context
- attrs
- defStyleAttr
- context
- attrs
- defStyleAttr
- defStyleRes
- view
- view
- view
- view
- view
- view
- assetName
- assetName
- assetName
- context
- adUnitId
- adapterCreator
- versionInfo
- activity
- context
- adSize
- adUnitId
- adapterCreator
- versionInfo
- activity
- context
- adSize
- adUnitId
- adapterCreator
- versionInfo
- nativeAdView
- overlayFrame
- context
- adapterCreator
- versionInfo
- context
- transparentBackground
- hideStatusBar
- backgroundImage
- blur
- blurRadius
- output
- flags
- nameValue
- info
- enabled
- userId
- enabled
- runnable
- volume
- runnable
- timeFromNowInMillis
- runnable
- evt
- versionCode
- birthday
- extras
- gender
- keywords
- isTestDevice
- tagForChildDirectedTreatment
- manualImpressionsEnabled
- publisherProvidedId
- searchAdRequestParcel
- location
- contentUrl
- networkExtras
- customTargeting
- categoryExclusions
- requestAgent
- requestPackage
- isDesignedForFamilies
- other
- output
- flags
- context
- adSize
- context
- adSizes
- adSize
- supportedAdSizes
- output
- flags
- searchAdRequest
- output
- flags
- originalAdSize
- parcel
- flags
- adapterClass
- networkExtrasClass
- adapterClass
- context
- manualImpressionsEnabled
- adListener
- adSizes
- adUnitId
- appEventListener
- correlator
- inAppPurchaseListener
- manualImpressionsEnabled
- onCustomRenderedAdLoadedListener
- playStorePurchaseListener
- publicKey
- adListener
- adUnitId
- appEventListener
- correlator
- inAppPurchaseListener
- onCustomRenderedAdLoadedListener
- playStorePurchaseListener
- publicKey
- listener
- userId
- context
- context
- volume
- enabled
- userId
- context
- adUnitId
- adapterCreator
- versionInfo
- activity
- context
- adSize
- adUnitId
- adapterCreator
- versionInfo
- activity
- context
- adSize
- adUnitId
- adapterCreator
- versionInfo
- nativeAdView
- overlayFrame
- context
- adapterCreator
- versionInfo
- context
- volume
- userId
- errorCode
- nameValue
- info
- context
- adUnitId
- adapterCreator
- versionInfo
- activity
- context
- adSize
- adUnitId
- adapterCreator
- versionInfo
- activity
- context
- adSize
- adUnitId
- adapterCreator
- versionInfo
- nativeAdView
- overlayFrame
- context
- adapterCreator
- versionInfo
- context
- context
- adUnitId
- adapterCreator
- versionInfo
- activity
- context
- adSize
- adUnitId
- adapterCreator
- versionInfo
- activity
- context
- adSize
- adUnitId
- adapterCreator
- versionInfo
- nativeAdView
- overlayFrame
- context
- adapterCreator
- versionInfo
- context
- code
- data
- reply
- flags
- errorCode
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- manualImpressionsEnabled
- userId
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- nameValue
- info
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- volume
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- versionCode
- shouldReturnUrlsForImageAssets
- imageOrientation
- shouldRequestMultipleImages
- options
- output
- flags
- assetName
- view
- view
- motionEvent
- versionCode
- intentAction
- url
- mimeType
- packageName
- componentName
- intentFlagsString
- intentExtrasString
- intent
- intent
- intentAction
- url
- mimeType
- packageName
- componentName
- intentFlagsString
- intentExtrasString
- output
- flags
- adClickListener
- adOverlayListener
- leaveApplicationListener
- adWebView
- orientation
- versionInfo
- debugMessage
- interstitialAdParameter
- adClickListener
- adOverlayListener
- leaveApplicationListener
- adWebView
- customClose
- orientation
- versionInfo
- adClickListener
- adOverlayListener
- appEventGmsgListener
- leaveApplicationListener
- adWebView
- customClose
- orientation
- url
- versionInfo
- inAppPurchaseGmsgListener
- adClickListener
- adOverlayListener
- appEventGmsgListener
- leaveApplicationListener
- adWebView
- customClose
- orientation
- html
- baseUrl
- versionInfo
- inAppPurchaseGmsgListener
- adLauncherIntentInfo
- adClickListener
- adOverlayListener
- leaveApplicationListener
- versionInfo
- output
- flags
- focusChange
- mpValue
- percent
- mpValue
- mpValue
- what
- extra
- mpValue
- what
- extra
- widthMeasureSpec
- heightMeasureSpec
- mediaPlayer
- surface
- width
- height
- surface
- surface
- wValue
- hValue
- surface
- mpValue
- width
- height
- millis
- mimeType
- path
- uri
- savedInstanceState
- outBundle
- requestedOrientation
- millis
- mimeType
- path
- millis
- mimeType
- view
- appContext
- inAppPurchaseVerifier
- inAppPurchase
- onPlayStorePurchaseFinishedListener
- output
- flags
- nameValue
- service
- nameValue
- billingResponseCode
- resolution
- requestCode
- resultCode
- data
- nameValue
- service
- nameValue
- nameValue
- service
- nameValue
- db
- db
- oldVersion
- newVersion
- adPositionBundle
- adRequest
- adSize
- adUnitId
- applicationInfo
- packageInfo
- querySpamSignals
- sequenceNumber
- sessionId
- versionInfo
- stats
- nativeVersion
- nativeTemplates
- nativeCustomTemplateIds
- contentInfo
- useHTTPS
- prefetchMessenger
- screenWidth
- screenHeight
- screenDensity
- viewHierarchy
- correlationId
- requestId
- experimentIds
- slotId
- nativeAdOptionsParcel
- connectionStartTime
- capabilityParcel
- anchorStatus
- appVolume
- targetApi
- adapterViewPosition
- partialAdRequestInfo
- querySpamSignals
- connectionStartTime
- output
- flags
- errorCode
- errorCode
- refreshIntervalInMillis
- adRequestInfo
- baseUrl
- body
- clickUrls
- impressionUrls
- interstitialTimeoutInMillis
- isMediation
- mediationConfigCacheTimeInMillis
- manualTrackingUrls
- refreshIntervalInMillis
- orientation
- adSizeString
- fetchTime
- debugDialog
- activeViewJSON
- isCustomRenderAllowed
- isNative
- useHTTPS
- contentUrlOptedOut
- isPrefetched
- panTokenStatus
- gwsQueryId
- isFluid
- isNativeExpress
- rewardItemParcel
- rewardVideoStartUrls
- rewardGrantedUrls
- isUsingDisplayedImpression
- adRequestInfo
- baseUrl
- body
- clickUrls
- impressionUrls
- interstitialTimeoutInMillis
- isMediation
- mediationConfigCacheTimeInMillis
- manualTrackingUrls
- refreshIntervalInMillis
- orientation
- adSizeString
- fetchTime
- debugDialog
- isJavascriptTag
- passbackUrl
- activeViewJSON
- isCustomRenderAllowed
- isNative
- useHTTPS
- contentUrlOptedOut
- isPrefetched
- panTokenStatus
- gwsQueryId
- isFluid
- isNativeExpress
- rewardItemParcel
- rewardVideoStartUrls
- rewardGrantedUrls
- isUsingDisplayedImpression
- output
- flags
- inAppPurchaseSupported
- defaultInAppPurchaseSupported
- appStreamingSupported
- dest
- flags
- teleportee
- dest
- flags
- content
- dest
- flags
- connectionHint
- result
- cause
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- versionCode
- adRequest
- adUnitId
- adRequest
- adUnitId
- output
- flags
- code
- data
- reply
- flags
- userId
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- errorCode
- code
- data
- reply
- flags
- errorCode
- adUnitId
- adRequest
- listener
- userId
- versionCode
- theType
- amount
- rewardItem
- rewardType
- rewardAmount
- other
- output
- flags
- code
- data
- reply
- flags
- adapter
- adapter
- adapter
- errorCode
- adapter
- adapter
- adapter
- adapter
- errorCode
- adapter
- adapter
- rewardItem
- adapter
- buddyApkVersion
- clientJarVersion
- isClientJar
- output
- flags
- msg
- context
- listener
- serverParameters
- adSize
- mediationAdRequest
- customEventExtras
- adapter
- adapter
- adapter
- errorCode
- adapter
- adapter
- adapter
- context
- listener
- serverParameters
- mediationAdRequest
- customEventExtras
- adapter
- adapter
- adapter
- errorCode
- adapter
- adapter
- adapter
- context
- listener
- serverParameters
- mediationAdRequest
- customEventExtras
- adapter
- adapter
- adapter
- adapter
- adapter
- nativeAdMapper
- adapter
- view
- extras
- overrideClickHandling
- overrideImpressionRecording
- view
- body
- callToAction
- headline
- icon
- images
- price
- starRating
- store
- advertiser
- body
- callToAction
- headline
- images
- logo
- extras
- context
- listener
- serverParameters
- adSize
- mediationAdRequest
- customEventExtras
- context
- listener
- serverParameters
- mediationAdRequest
- customEventExtras
- context
- listener
- serverParameters
- mediationAdRequest
- customEventExtras
- view
- label
- label
- value
- billingResponseCode
- resolution
- requestCode
- resultCode
- data
- savedInstanceState
- adUnitId
- adRequest
- listener
- userId
- reward
- errorCode
- context
- mediationAdRequest
- userId
- listener
- serverParameters
- networkExtras
- mediationAdRequest
- serverParameters
- networkExtras
- adapter
- adapter
- adapter
- errorCode
- adapter
- adapter
- adapter
- adapter
- errorCode
- adapter
- adapter
- rewardItem
- adapter
- adapterClass
- networkExtrasClass
- adapterClass
- context
- adapterClass
- customEventExtras
- networkExtras
- adapterClass
- networkExtras
- deviceId
- anchorTextColor
- backgroundColor
- top
- bottom
- borderColor
- borderThickness
- borderType
- callButtonColor
- channelIds
- descriptionTextColor
- fontFace
- headerTextColor
- headerTextSize
- location
- query
- requestAgent
- tagForChildDirectedTreatment
- context
- context
- attrs
- context
- attrs
- defStyle
- searchAdRequest
- changed
- left
- top
- right
- bottom
- widthMeasureSpec
- heightMeasureSpec
- adListener
- adSize
- adUnitId
- oneByte
- buffer
- offset
- len
- objValue
- activity
- savedInstanceState
- activity
- activity
- activity
- activity
- savedInstanceState
- activity
- activity
- other
- context
- context
- view
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- assetName
- code
- data
- reply
- flags
- assetName
- assetName
- assetName
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- nameValue
- info
- manualImpressionsEnabled
- useId
- error
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- error
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- adapter
- adapter
- adapter
- adapter
- adapter
- adapter
- adapter
- errorCode
- adapter
- errorCode
- adapter
- error
- adapter
- adapter
- adapter
- adapter
- adapter
- adapter
- nativeAdMapper
- adapter
- adapter
- adapter
- adapter
- adapter
- adapter
- adapter
- errorCode
- adapter
- errorCode
- adapter
- adapter
- adapter
- adapter
- adapter
- adapter
- activity
- savedInstanceState
- outState
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- context
- callingPackage
- context
- adUnitId
- callingPackage
- context
- callingPackage
- context
- adUnitId
- callingPackage
- msg
- billingResponseCode
- resolution
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- requestCode
- resultCode
- data
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- productId
- code
- data
- reply
- flags
- activity
- billingResponseCode
- resolution
- productId
- thread
- exception
- userId
- msg
- msg
- runnable
- context
- view
- context
- view
- view
- other
- instance
- mayInterruptIfRunning
- timeout
- unit
- mayInterruptIfRunning
- timeout
- unit
- includeDiskFiles
- data
- mimeType
- encoding
- baseUrl
- data
- mimeType
- encoding
- historyUrl
- url
- color
- context
- listener
- listener
- requestedOrientation
- client
- client
- webView
- url
- webView
- url
- view
- errorCode
- description
- failingUrl
- view
- handler
- error
- view
- evt
- webView
- url
- service
- baseValue
- intent
- webView
- consoleMessage
- view
- isDialog
- isUserGesture
- resultMsg
- url
- databaseIdentifier
- currentQuota
- estimatedSize
- totalUsedQuota
- quotaUpdater
- origin
- callback
- webView
- url
- message
- result
- webView
- url
- message
- result
- webView
- url
- message
- result
- webView
- url
- message
- defaultValue
- result
- spaceNeeded
- totalUsedQuota
- quotaUpdater
- view
- customViewCallback
- webView
- url
- view
- requestedOrientation
- customViewCallback
- view
- url
- view
- url
- view
- url
- nameValue
- key
diff --git a/ads/source/Transforms/Metadata.xml b/ads/source/Transforms/Metadata.xml
index 64f695626..9708e1e23 100644
--- a/ads/source/Transforms/Metadata.xml
+++ b/ads/source/Transforms/Metadata.xml
@@ -19,6 +19,7 @@
Android.Gms.Ads.Purchase
Android.Gms.Ads.Search
Android.Gms.Internal
+ Android.Gms.Dynamite.Descriptors.Ads.Dynamite
name
data
@@ -39,6 +40,12 @@
+
+ source
+ size
+ dest
+ flags
+
public
diff --git a/all/nuget/Xamarin.GooglePlayServices.nuspec b/all/nuget/Xamarin.GooglePlayServices.nuspec
index 565edace3..6bba3d7f6 100644
--- a/all/nuget/Xamarin.GooglePlayServices.nuspec
+++ b/all/nuget/Xamarin.GooglePlayServices.nuspec
@@ -8,7 +8,7 @@
Xamarin Inc.
true
DEPRECATED: Use individual Xamarin Google Play Services packages instead!
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
https://github.com/xamarin/GooglePlayServicesComponents/
https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.png
@@ -44,6 +44,6 @@
-
+
diff --git a/all/samples/GpsBuildAll/GpsBuildAll.csproj b/all/samples/GpsBuildAll/GpsBuildAll.csproj
index f5883322a..854423009 100644
--- a/all/samples/GpsBuildAll/GpsBuildAll.csproj
+++ b/all/samples/GpsBuildAll/GpsBuildAll.csproj
@@ -17,8 +17,9 @@
False
GpsBuildAll
Properties\AndroidManifest.xml
- v5.0
+ v7.0
true
+ 2G
true
@@ -47,11 +48,32 @@
+
+ ..\..\..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\..\..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\..\..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\..\..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\..\..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\..\..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+
+
+ ..\..\..\packages\Xamarin.Android.Support.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll
+
+
+ ..\..\..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll
- ..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll
+ ..\..\..\packages\Xamarin.Android.Support.v7.AppCompat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll
@@ -111,10 +133,6 @@
{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}
Maps
-
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}
- Measurement
-
{A7ADD277-FCAB-46D5-8F18-2E4BFFDA3AE7}
Nearby
@@ -131,10 +149,6 @@
{7A015585-036A-4BD1-8D46-A669EFA89743}
SafetyNet
-
- {7DD8E926-9F75-4F25-95A3-920A5FF48EF8}
- SupportWearable
-
{72CC5E29-5EA5-40E3-98E4-87ED8AB75589}
Vision
@@ -143,10 +157,6 @@
{7AF74235-AEE2-4F3A-AEDB-7504ED93DDC0}
Wallet
-
- {92BDA198-6A78-4408-844C-CAAF4C04EAFD}
- Wearable
-
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
@@ -159,10 +169,6 @@
{A0CDF507-32B7-4994-8248-94FAB8646E35}
Auth
-
- {8B84EE13-119C-41EB-98E8-E42D3ECD0DFD}
- AppState
-
{A069B942-EE12-4283-9C4C-F46549D3978A}
AppInvite
@@ -179,5 +185,118 @@
{CC4E534D-4992-4FBB-9528-A071EDDEA7E7}
Ads
+
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}
+ Analytics.Impl
+
+
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}
+ Ads.Lite
+
+
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D}
+ Iid
+
+
+ {2EA64B09-174C-40D0-9A40-44C2BF10C9D4}
+ TagManager
+
+
+ {B94069F7-2BD5-4695-B7B7-EBAA1C496DD9}
+ TagManager.Api
+
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
+
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}
+ Firebase-Analytics
+
+
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}
+ Firebase-Analytics-Impl
+
+
+ {865652D3-8D1A-4779-92FC-4C54719286B7}
+ Firebase-Common
+
+
+ {B28F65D1-D8DD-45E8-9DD7-74A3BE40B4CE}
+ Firebase-Iid
+
+
+ {B04C50F7-B0CC-4170-8820-9D584E1C0ED3}
+ Auth.Base
+
+
+ {F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}
+ Firebase-Auth-Common
+
+
+ {62946D89-B6B1-4A38-A04D-C20912087EFD}
+ Firebase-Auth
+
+
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}
+ Firebase-Auth-Module
+
+
+ {00F7A18F-D2C4-4014-8E4C-552A0A0B0967}
+ Firebase-Config
+
+
+ {7076C84E-08AE-404B-8F3C-8F66010FA1B1}
+ Firebase-Crash
+
+
+ {B02737A0-890C-4921-83A5-D77CFB8A6899}
+ Firebase-Database
+
+
+ {2858C3DB-1E15-4D12-AF09-02CFD624ADD4}
+ Firebase-Database-Connection
+
+
+ {2E333450-68BD-48C5-9540-CFA7A053DCA1}
+ Firebase-Messaging
+
+
+ {423414D9-6CB8-4AFF-8317-66AD03B6056D}
+ Firebase-Storage
+
+
+ {C360116C-0ED5-4E59-A974-E95F874B4398}
+ Firebase-Storage-Common
+
+
+ {7DD8E926-9F75-4F25-95A3-920A5FF48EF8}
+ SupportWearable
+
+
+ {92BDA198-6A78-4408-844C-CAAF4C04EAFD}
+ Wearable
+
+
+ {159A8C21-0A5B-4D99-9E07-6466F8E98AF7}
+ Cast.Framework
+
+
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}
+ Clearcut
+
+
+ {541FC839-6065-4681-B6A4-C3BF358F78E9}
+ Awareness
+
+
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}
+ Gass
+
+
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}
+ Places
+
+
\ No newline at end of file
diff --git a/all/samples/GpsBuildAll/Properties/AndroidManifest.xml b/all/samples/GpsBuildAll/Properties/AndroidManifest.xml
index db20a4a57..4daef56ac 100644
--- a/all/samples/GpsBuildAll/Properties/AndroidManifest.xml
+++ b/all/samples/GpsBuildAll/Properties/AndroidManifest.xml
@@ -1,6 +1,5 @@
-
+
-
-
-
+
+
\ No newline at end of file
diff --git a/all/samples/GpsBuildAll/Properties/AssemblyInfo.cs b/all/samples/GpsBuildAll/Properties/AssemblyInfo.cs
index aa9229ff1..cc2cb686c 100644
--- a/all/samples/GpsBuildAll/Properties/AssemblyInfo.cs
+++ b/all/samples/GpsBuildAll/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("GpsBuildAll")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/all/samples/GpsBuildAll/packages.config b/all/samples/GpsBuildAll/packages.config
index b8f99d6fe..55bb22259 100644
--- a/all/samples/GpsBuildAll/packages.config
+++ b/all/samples/GpsBuildAll/packages.config
@@ -1,5 +1,12 @@
-
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/analytics-impl/nuget/Xamarin.GooglePlayServices.Analytics.Impl.template.nuspec b/analytics-impl/nuget/Xamarin.GooglePlayServices.Analytics.Impl.template.nuspec
new file mode 100644
index 000000000..76e7b80ad
--- /dev/null
+++ b/analytics-impl/nuget/Xamarin.GooglePlayServices.Analytics.Impl.template.nuspec
@@ -0,0 +1,28 @@
+
+
+
+ Xamarin.GooglePlayServices.Analytics.Impl
+ Xamarin Google Play Services - Analytics Impl
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - Analytics Impl $aar-version$
+
+ Xamarin.Android Bindings for Google Play Services - Analytics Impl $aar-version$
+
+ The Google Analytics SDK for Android makes it easy for developers to collect user engagement data form their apps.
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-analytics-impl_128x128.png
+
+
+
+
+
+
+
+
+
diff --git a/measurement/source/Additions/AboutAdditions.txt b/analytics-impl/source/Additions/AboutAdditions.txt
similarity index 100%
rename from measurement/source/Additions/AboutAdditions.txt
rename to analytics-impl/source/Additions/AboutAdditions.txt
diff --git a/analytics/source/Additions/IPendingResultExtensions.cs b/analytics-impl/source/Additions/IPendingResultExtensions.cs
similarity index 100%
rename from analytics/source/Additions/IPendingResultExtensions.cs
rename to analytics-impl/source/Additions/IPendingResultExtensions.cs
diff --git a/analytics-impl/source/Additions/Manifest.cs b/analytics-impl/source/Additions/Manifest.cs
new file mode 100644
index 000000000..880851cfd
--- /dev/null
+++ b/analytics-impl/source/Additions/Manifest.cs
@@ -0,0 +1,6 @@
+using System;
+using Android.App;
+
+[assembly: UsesPermission (Android.Manifest.Permission.Internet)]
+[assembly: UsesPermission (Android.Manifest.Permission.AccessNetworkState)]
+[assembly: UsesPermission (Android.Manifest.Permission.WakeLock)]
diff --git a/analytics-impl/source/Analytics.Impl.csproj b/analytics-impl/source/Analytics.Impl.csproj
new file mode 100644
index 000000000..ffb24812b
--- /dev/null
+++ b/analytics-impl/source/Analytics.Impl.csproj
@@ -0,0 +1,80 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 8.0.30703
+ 2.0
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}
+ Library
+ GooglePlayServices.Analytics.Impl
+ Resources
+ Assets
+ False
+ Xamarin.GooglePlayServices.Analytics.Impl
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Jars\play-services-analytics-impl.jar
+
+
+
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+
diff --git a/measurement/source/Jars/AboutJars.txt b/analytics-impl/source/Jars/AboutJars.txt
similarity index 100%
rename from measurement/source/Jars/AboutJars.txt
rename to analytics-impl/source/Jars/AboutJars.txt
diff --git a/analytics-impl/source/Properties/AssemblyInfo.cs b/analytics-impl/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..a1f951024
--- /dev/null
+++ b/analytics-impl/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.GooglePlayServices.Analytics.Impl")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-analytics-impl/" + __GpsConsts.Version + "/play-services-analytics-impl-" + __GpsConsts.Version + ".aar";
+}
diff --git a/measurement/source/Transforms/EnumFields.xml b/analytics-impl/source/Transforms/EnumFields.xml
similarity index 100%
rename from measurement/source/Transforms/EnumFields.xml
rename to analytics-impl/source/Transforms/EnumFields.xml
diff --git a/measurement/source/Transforms/EnumMethods.xml b/analytics-impl/source/Transforms/EnumMethods.xml
similarity index 100%
rename from measurement/source/Transforms/EnumMethods.xml
rename to analytics-impl/source/Transforms/EnumMethods.xml
diff --git a/analytics-impl/source/Transforms/Metadata.generated.xml b/analytics-impl/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/analytics-impl/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/analytics-impl/source/Transforms/Metadata.xml b/analytics-impl/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..8bf27525f
--- /dev/null
+++ b/analytics-impl/source/Transforms/Metadata.xml
@@ -0,0 +1,105 @@
+
+
+
+ Android.Gms.Analytics
+ Android.Gms.Analytics.Internal
+ Android.Gms.Analytics.Ecommerce
+ Android.Gms.Tagmanager
+
+ TagManagerClass
+
+
+
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+ containerHolder
+ containerVersion
+
+
+
+
+
+ Java.Lang.Object
+ Java.Lang.Object
+
+
+ public
+
+
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+ com.google.android.gms.analytics.HitBuilders.HitBuilder
+
+ com.google.android.gms.analytics.HitBuilders.EventBuilder
+ com.google.android.gms.analytics.HitBuilders.EventBuilder
+ com.google.android.gms.analytics.HitBuilders.EventBuilder
+ com.google.android.gms.analytics.HitBuilders.EventBuilder
+
+ com.google.android.gms.analytics.HitBuilders.ExceptionBuilder
+ com.google.android.gms.analytics.HitBuilders.ExceptionBuilder
+
+ com.google.android.gms.analytics.HitBuilders.ItemBuilder
+ com.google.android.gms.analytics.HitBuilders.ItemBuilder
+ com.google.android.gms.analytics.HitBuilders.ItemBuilder
+ com.google.android.gms.analytics.HitBuilders.ItemBuilder
+ com.google.android.gms.analytics.HitBuilders.ItemBuilder
+ com.google.android.gms.analytics.HitBuilders.ItemBuilder
+ com.google.android.gms.analytics.HitBuilders.ItemBuilder
+
+ com.google.android.gms.analytics.HitBuilders.SocialBuilder
+ com.google.android.gms.analytics.HitBuilders.SocialBuilder
+ com.google.android.gms.analytics.HitBuilders.SocialBuilder
+
+ com.google.android.gms.analytics.HitBuilders.TimingBuilder
+ com.google.android.gms.analytics.HitBuilders.TimingBuilder
+ com.google.android.gms.analytics.HitBuilders.TimingBuilder
+ com.google.android.gms.analytics.HitBuilders.TimingBuilder
+
+ com.google.android.gms.analytics.HitBuilders.TransactionBuilder
+ com.google.android.gms.analytics.HitBuilders.TransactionBuilder
+ com.google.android.gms.analytics.HitBuilders.TransactionBuilder
+ com.google.android.gms.analytics.HitBuilders.TransactionBuilder
+ com.google.android.gms.analytics.HitBuilders.TransactionBuilder
+ com.google.android.gms.analytics.HitBuilders.TransactionBuilder
+
+
+
+ java.util.Map<java.lang.String, java.lang.String>
+ java.util.Map<java.lang.String, java.lang.String>
+ java.util.Map<java.lang.String, java.lang.String>
+ java.util.Map<java.lang.String, java.lang.String>
+ java.util.Map<java.lang.String, java.lang.String>
+ java.util.Map<java.lang.String, java.lang.String>
+ java.util.Map<java.lang.String, java.lang.String>
+ java.util.Map<java.lang.String, java.lang.String>
+
+
+
+
diff --git a/analytics/component/component.template.yaml b/analytics/component/component.template.yaml
index 620a50c55..59ea23ccc 100644
--- a/analytics/component/component.template.yaml
+++ b/analytics/component/component.template.yaml
@@ -4,14 +4,10 @@ id: googleplayservices-analytics
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: Collect data from your mobile apps.
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-analytics_128x128.png
- - icons/googleplayservices-analytics_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Analytics.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
+ - ../../icons/play-services-analytics_128x128.png
+ - ../../icons/play-services-analytics_512x512.png
is_shell: true
packages:
android:
@@ -20,12 +16,18 @@ samples:
- name: "Analytics Sample"
path: ../../analytics/samples/AnalyticsSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Analytics
+ - Base
+ - Basement
+ - Tasks
+ - Analytics
+ - Analytics.Impl
installNuGets:
- project: AnalyticsSample
packages:
+ - Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Analytics
+ - Xamarin.GooglePlayServices.Analytics.Impl
local-nuget-repo: ../../output/
no_build: true
diff --git a/analytics/component/icons/googleplayservices-analytics_128x128.png b/analytics/component/icons/googleplayservices-analytics_128x128.png
deleted file mode 100644
index 18ffec9cd..000000000
Binary files a/analytics/component/icons/googleplayservices-analytics_128x128.png and /dev/null differ
diff --git a/analytics/component/icons/googleplayservices-analytics_512x512.png b/analytics/component/icons/googleplayservices-analytics_512x512.png
deleted file mode 100644
index 04b7cb4a3..000000000
Binary files a/analytics/component/icons/googleplayservices-analytics_512x512.png and /dev/null differ
diff --git a/analytics/nuget/Xamarin.GooglePlayServices.Analytics.nuspec b/analytics/nuget/Xamarin.GooglePlayServices.Analytics.template.nuspec
similarity index 64%
rename from analytics/nuget/Xamarin.GooglePlayServices.Analytics.nuspec
rename to analytics/nuget/Xamarin.GooglePlayServices.Analytics.template.nuspec
index e3560c622..91c8d2c44 100644
--- a/analytics/nuget/Xamarin.GooglePlayServices.Analytics.nuspec
+++ b/analytics/nuget/Xamarin.GooglePlayServices.Analytics.template.nuspec
@@ -7,21 +7,23 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Analytics
+ Xamarin.Android Bindings for Google Play Services - Analytics $aar-version$
- Xamarin.Android Bindings for Google Play Services - Analytics
+ Xamarin.Android Bindings for Google Play Services - Analytics $aar-version$
The Google Analytics SDK for Android makes it easy for developers to collect user engagement data form their apps.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-analytics/
http://components.xamarin.com/license/googleplayservices-analytics/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Analytics.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-analytics_128x128.png
+
+
-
+
diff --git a/analytics/samples/AnalyticsSample.UITests/AnalyticsSample.UITests.csproj b/analytics/samples/AnalyticsSample.UITests/AnalyticsSample.UITests.csproj
index effe2383f..443f21d2b 100644
--- a/analytics/samples/AnalyticsSample.UITests/AnalyticsSample.UITests.csproj
+++ b/analytics/samples/AnalyticsSample.UITests/AnalyticsSample.UITests.csproj
@@ -31,12 +31,12 @@
-
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
-
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
diff --git a/analytics/samples/AnalyticsSample.UITests/packages.config b/analytics/samples/AnalyticsSample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/analytics/samples/AnalyticsSample.UITests/packages.config
+++ b/analytics/samples/AnalyticsSample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/analytics/samples/AnalyticsSample.sln b/analytics/samples/AnalyticsSample.sln
index a756b26fe..160b6c825 100644
--- a/analytics/samples/AnalyticsSample.sln
+++ b/analytics/samples/AnalyticsSample.sln
@@ -9,6 +9,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analytics", "..\source\Anal
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Analytics.Impl", "..\..\analytics-impl\source\Analytics.Impl.csproj", "{7893F52D-09B9-4441-AC47-6F7875BD68BC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -31,5 +37,17 @@ Global
{EA04524D-2A97-4ED0-AD74-21F8C30DF4A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{EA04524D-2A97-4ED0-AD74-21F8C30DF4A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{EA04524D-2A97-4ED0-AD74-21F8C30DF4A5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/analytics/samples/AnalyticsSample/AnalyticsSample.csproj b/analytics/samples/AnalyticsSample/AnalyticsSample.csproj
index bfe17063e..96b1d7fe7 100644
--- a/analytics/samples/AnalyticsSample/AnalyticsSample.csproj
+++ b/analytics/samples/AnalyticsSample/AnalyticsSample.csproj
@@ -17,7 +17,7 @@
False
Analytics
Properties\AndroidManifest.xml
- v5.0
+ v7.0
armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
@@ -45,11 +45,32 @@
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+
+
+ ..\packages\Xamarin.Android.Support.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll
+
+
+ ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll
- ..\packages\Xamarin.Android.Support.v7.AppCompat.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll
+ ..\packages\Xamarin.Android.Support.v7.AppCompat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll
@@ -99,5 +120,18 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}
+ Analytics.Impl
+
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
+
\ No newline at end of file
diff --git a/analytics/samples/AnalyticsSample/Properties/AssemblyInfo.cs b/analytics/samples/AnalyticsSample/Properties/AssemblyInfo.cs
index 9e09f8958..16f13ca6b 100644
--- a/analytics/samples/AnalyticsSample/Properties/AssemblyInfo.cs
+++ b/analytics/samples/AnalyticsSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("Analytics")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/analytics/samples/AnalyticsSample/packages.config b/analytics/samples/AnalyticsSample/packages.config
index 508542c3b..55bb22259 100644
--- a/analytics/samples/AnalyticsSample/packages.config
+++ b/analytics/samples/AnalyticsSample/packages.config
@@ -1,5 +1,12 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/analytics/source/Additions/Manifest.cs b/analytics/source/Additions/Manifest.cs
index 4c536c90e..880851cfd 100644
--- a/analytics/source/Additions/Manifest.cs
+++ b/analytics/source/Additions/Manifest.cs
@@ -3,4 +3,4 @@
[assembly: UsesPermission (Android.Manifest.Permission.Internet)]
[assembly: UsesPermission (Android.Manifest.Permission.AccessNetworkState)]
-
+[assembly: UsesPermission (Android.Manifest.Permission.WakeLock)]
diff --git a/analytics/source/Analytics.csproj b/analytics/source/Analytics.csproj
index ee74af4fa..b269feb39 100644
--- a/analytics/source/Analytics.csproj
+++ b/analytics/source/Analytics.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
8.0.30703
2.0
{EA04524D-2A97-4ED0-AD74-21F8C30DF4A5}
@@ -13,7 +13,8 @@
Assets
False
Xamarin.GooglePlayServices.Analytics
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
@@ -44,7 +45,6 @@
-
Properties\GpsConsts.cs
@@ -71,5 +71,17 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}
+ Analytics.Impl
+
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
-
\ No newline at end of file
+
diff --git a/analytics/source/Properties/AssemblyInfo.cs b/analytics/source/Properties/AssemblyInfo.cs
index 49e6d3437..f0a1b2e20 100644
--- a/analytics/source/Properties/AssemblyInfo.cs
+++ b/analytics/source/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.Analytics")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("Xamarin")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
@@ -27,21 +27,22 @@
//[assembly: AssemblyKeyFile("")]
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS Analytics";
public const string AarPath = "m2repository/com/google/android/gms/play-services-analytics/" + __GpsConsts.Version + "/play-services-analytics-" + __GpsConsts.Version + ".aar";
-}
\ No newline at end of file
+}
diff --git a/analytics/source/Transforms/Metadata.generated.xml b/analytics/source/Transforms/Metadata.generated.xml
index df2630f95..26c2f6238 100644
--- a/analytics/source/Transforms/Metadata.generated.xml
+++ b/analytics/source/Transforms/Metadata.generated.xml
@@ -1,256 +1,2 @@
- context
- intent
- intent
- intent
- flags
- startId
- context
- intent
- intent
- intent
- flags
- startId
- threadName
- tValue
- tracker
- originalHandler
- context
- exceptionParser
- tValue
- eValue
- context
- application
- context
- configResId
- trackingId
- activity
- activity
- optOut
- dryRun
- dispatchPeriodInSeconds
- logger
- category
- action
- action
- category
- label
- value
- description
- fatal
- product
- impressionList
- product
- promotion
- paramName
- paramName
- paramValue
- parameters
- utmParams
- index
- dimension
- index
- metric
- hitType
- nonInteraction
- action
- action
- category
- currencyCode
- nameValue
- price
- quantity
- sku
- transactionid
- action
- network
- target
- category
- variable
- value
- category
- label
- value
- variable
- affiliation
- currencyCode
- revenue
- shipping
- tax
- transactionid
- exception
- message
- message
- logLevel
- message
- message
- context
- additionalPackages
- tValue
- tValue
- threadName
- tValue
- cause
- element
- threadName
- context
- additionalPackages
- enabled
- enabled
- enable
- key
- parameters
- key
- value
- anonymize
- appId
- appInstallerId
- appName
- appVersion
- uri
- clientId
- encoding
- hostname
- language
- location
- page
- referrer
- sampleRate
- screenColors
- screenName
- width
- height
- sessionTimeout
- title
- useSecure
- viewportSize
- enable
- value
- value
- value
- index
- value
- index
- value
- value
- value
- value
- value
- value
- value
- action
- value
- value
- value
- value
- value
- value
- value
- value
- value
- value
- value
- value
- value
- value
- output
- flags
- code
- data
- reply
- flags
- logger
- msg
- dispatchPeriodInSeconds
- nameValue
- binder
- nameValue
- nameValue
- nameValue
- nameValue
- nameValue
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- nameValue
- value
- clientId
- percentage
- userId
- value
- value
- value
- value
- nameValue
- language
- description
- screenName
- milliseconds
- oValue
- output
- key
- key
- key
- key
- customMacroName
- customMacroCallback
- customTagName
- customTagCallback
- customMacroName
- customTagName
- listener
- key
- objects
- objects
- key
- value
- update
- eventName
- update
- savedInstanceState
- context
- containerId
- defaultContainerResourceId
- containerId
- defaultContainerResourceId
- handler
- containerId
- defaultContainerResourceId
- containerId
- defaultContainerResourceId
- handler
- containerId
- defaultContainerResourceId
- containerId
- defaultContainerResourceId
- handler
- enableVerboseLogging
- nameValue
- message
- logLevel
- message
- key
- value
- message
- logLevel
- message
diff --git a/analytics/source/Transforms/Metadata.xml b/analytics/source/Transforms/Metadata.xml
index 44116743b..acba0a41e 100644
--- a/analytics/source/Transforms/Metadata.xml
+++ b/analytics/source/Transforms/Metadata.xml
@@ -17,6 +17,12 @@
+
+ source
+ size
+ dest
+ flags
+
containerHolder
containerVersion
diff --git a/appindexing/component/component.template.yaml b/appindexing/component/component.template.yaml
index c73cf49fd..492707f0e 100644
--- a/appindexing/component/component.template.yaml
+++ b/appindexing/component/component.template.yaml
@@ -4,15 +4,10 @@ id: googleplayservices-appindexing
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: Get your app found in Google Search.
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-appindexing_128x128.png
- - icons/googleplayservices-appindexing_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.AppIndexing.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Base.dll
+ - ../../icons/play-services-appindexing_128x128.png
+ - ../../icons/play-services-appindexing_512x512.png
is_shell: true
packages:
android:
@@ -21,14 +16,18 @@ samples:
- name: "AppIndexing Sample"
path: ../../appindexing/samples/AppIndexingSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.AppIndexing
+ - Base
+ - Basement
+ - Tasks
+ - Firebase-Common
+ - AppIndexing
installNuGets:
- project: AppIndexingSample
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
+ - Xamarin.Firebase.Common
- Xamarin.GooglePlayServices.AppIndexing
local-nuget-repo: ../../output/
no_build: true
diff --git a/appindexing/component/icons/googleplayservices-appindexing_128x128.png b/appindexing/component/icons/googleplayservices-appindexing_128x128.png
deleted file mode 100644
index a97f0b5b4..000000000
Binary files a/appindexing/component/icons/googleplayservices-appindexing_128x128.png and /dev/null differ
diff --git a/appindexing/component/icons/googleplayservices-appindexing_512x512.png b/appindexing/component/icons/googleplayservices-appindexing_512x512.png
deleted file mode 100644
index 4d947b246..000000000
Binary files a/appindexing/component/icons/googleplayservices-appindexing_512x512.png and /dev/null differ
diff --git a/appindexing/nuget/Xamarin.GooglePlayServices.AppIndexing.nuspec b/appindexing/nuget/Xamarin.GooglePlayServices.AppIndexing.template.nuspec
similarity index 69%
rename from appindexing/nuget/Xamarin.GooglePlayServices.AppIndexing.nuspec
rename to appindexing/nuget/Xamarin.GooglePlayServices.AppIndexing.template.nuspec
index 4b73eeac3..819d65c7f 100644
--- a/appindexing/nuget/Xamarin.GooglePlayServices.AppIndexing.nuspec
+++ b/appindexing/nuget/Xamarin.GooglePlayServices.AppIndexing.template.nuspec
@@ -7,22 +7,24 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - AppIndexing
+ Xamarin.Android Bindings for Google Play Services - AppIndexing $aar-version$
- Xamarin.Android Bindings for Google Play Services - AppIndexing
+ Xamarin.Android Bindings for Google Play Services - AppIndexing $aar-version$
App Indexing helps you get your app found in Google Search. Once your app is indexed, mobile users who search for content related to your app can see an install button to your Android app in Search results. This helps you increase your install base.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-appindexing/
http://components.xamarin.com/license/googleplayservices-appindexing/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.AppIndexing.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-appindexing_128x128.png
+
+
-
+
diff --git a/appindexing/samples/AppIndexingSample.UITests/AppIndexingSample.UITests.csproj b/appindexing/samples/AppIndexingSample.UITests/AppIndexingSample.UITests.csproj
index 68fe6af2f..5b57ca3f0 100644
--- a/appindexing/samples/AppIndexingSample.UITests/AppIndexingSample.UITests.csproj
+++ b/appindexing/samples/AppIndexingSample.UITests/AppIndexingSample.UITests.csproj
@@ -29,12 +29,12 @@
-
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
-
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
diff --git a/appindexing/samples/AppIndexingSample.UITests/packages.config b/appindexing/samples/AppIndexingSample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/appindexing/samples/AppIndexingSample.UITests/packages.config
+++ b/appindexing/samples/AppIndexingSample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/appindexing/samples/AppIndexingSample.sln b/appindexing/samples/AppIndexingSample.sln
index 6ed6d9f8c..0ce4fd24e 100644
--- a/appindexing/samples/AppIndexingSample.sln
+++ b/appindexing/samples/AppIndexingSample.sln
@@ -9,6 +9,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AppIndexing", "..\source\AppIndexing.csproj", "{A069B942-EE12-4283-8C4C-F46549D3978A}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Common", "..\..\firebase-common\source\Firebase-Common.csproj", "{865652D3-8D1A-4779-92FC-4C54719286B7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -31,5 +37,17 @@ Global
{AC99F948-17A9-464E-8033-429D6C1D23F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AC99F948-17A9-464E-8033-429D6C1D23F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AC99F948-17A9-464E-8033-429D6C1D23F2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.Build.0 = Release|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/appindexing/samples/AppIndexingSample/AppIndexingSample.csproj b/appindexing/samples/AppIndexingSample/AppIndexingSample.csproj
index 7fb595ff6..ad85f84bd 100644
--- a/appindexing/samples/AppIndexingSample/AppIndexingSample.csproj
+++ b/appindexing/samples/AppIndexingSample/AppIndexingSample.csproj
@@ -13,9 +13,9 @@
Resource
Resources\Resource.designer.cs
True
- True
+ false
AppIndexingSample
- v6.0
+ v7.0
armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
@@ -43,8 +43,23 @@
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -82,5 +97,17 @@
{A069B942-EE12-4283-8C4C-F46549D3978A}
AppIndexing
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+ {865652D3-8D1A-4779-92FC-4C54719286B7}
+ Firebase-Common
+
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
\ No newline at end of file
diff --git a/appindexing/samples/AppIndexingSample/Properties/AndroidManifest.xml b/appindexing/samples/AppIndexingSample/Properties/AndroidManifest.xml
index d033dc9c0..22addf0b7 100644
--- a/appindexing/samples/AppIndexingSample/Properties/AndroidManifest.xml
+++ b/appindexing/samples/AppIndexingSample/Properties/AndroidManifest.xml
@@ -3,4 +3,5 @@
+
diff --git a/appindexing/samples/AppIndexingSample/Properties/AssemblyInfo.cs b/appindexing/samples/AppIndexingSample/Properties/AssemblyInfo.cs
index 017c4298f..02cc65eab 100644
--- a/appindexing/samples/AppIndexingSample/Properties/AssemblyInfo.cs
+++ b/appindexing/samples/AppIndexingSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("AppIndexingSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/appindexing/samples/AppIndexingSample/packages.config b/appindexing/samples/AppIndexingSample/packages.config
index 01c2aac28..71e0c9953 100644
--- a/appindexing/samples/AppIndexingSample/packages.config
+++ b/appindexing/samples/AppIndexingSample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/appindexing/source/Additions/Additions.cs b/appindexing/source/Additions/Additions.cs
index 6c4f0a599..0c8982205 100644
--- a/appindexing/source/Additions/Additions.cs
+++ b/appindexing/source/Additions/Additions.cs
@@ -1,4 +1,6 @@
using System;
+using Java.Interop;
+using Android.Runtime;
namespace Android.Gms.AppIndexing
{
@@ -16,3 +18,75 @@ public static Android.Gms.Common.Apis.Api Api {
}
}
+namespace Firebase.AppIndexing
+{
+ [Register ("com/google/firebase/appindexing/Indexable", "", "Firebase.AppIndexing.IIndexableInvoker")]
+ public interface IIndexable : IJavaObject, IDisposable
+ {
+ }
+
+ [Register ("com/google/firebase/appindexing/Indexable", DoNotGenerateAcw = true)]
+ internal class IIndexableInvoker : Java.Lang.Object, IIndexable, IJavaObject, IDisposable
+ {
+ //
+ // Static Fields
+ //
+ private static IntPtr java_class_ref = JNIEnv.FindClass ("com/google/firebase/appindexing/Indexable");
+
+ private IntPtr class_ref;
+
+
+ //
+ // Properties
+ //
+ protected override IntPtr ThresholdClass {
+ get {
+ return this.class_ref;
+ }
+ }
+
+ protected override Type ThresholdType {
+ get {
+ return typeof(IIndexableInvoker);
+ }
+ }
+
+ //
+ // Constructors
+ //
+ public IIndexableInvoker (IntPtr handle, JniHandleOwnership transfer) : base (IIndexableInvoker.Validate (handle), transfer)
+ {
+ IntPtr objectClass = JNIEnv.GetObjectClass (base.Handle);
+ this.class_ref = JNIEnv.NewGlobalRef (objectClass);
+ JNIEnv.DeleteLocalRef (objectClass);
+ }
+
+ //
+ // Static Methods
+ //
+ public static IIndexable GetObject (IntPtr handle, JniHandleOwnership transfer)
+ {
+ return Java.Lang.Object.GetObject (handle, transfer);
+ }
+
+ private static IntPtr Validate (IntPtr handle)
+ {
+ if (!JNIEnv.IsInstanceOf (handle, IIndexableInvoker.java_class_ref)) {
+ throw new InvalidCastException (string.Format ("Unable to convert instance of type '{0}' to type '{1}'.", JNIEnv.GetClassNameFromInstance (handle), "com.google.firebase.IIndexable"));
+ }
+ return handle;
+ }
+
+ //
+ // Methods
+ //
+ protected override void Dispose (bool disposing)
+ {
+ if (this.class_ref != IntPtr.Zero) {
+ JNIEnv.DeleteGlobalRef (this.class_ref);
+ }
+ this.class_ref = IntPtr.Zero;
+ base.Dispose (disposing);
+ }
+ }
+}
\ No newline at end of file
diff --git a/appindexing/source/Additions/IPendingResultExtensions.cs b/appindexing/source/Additions/IPendingResultExtensions.cs
index 66593337e..d93f56ef1 100644
--- a/appindexing/source/Additions/IPendingResultExtensions.cs
+++ b/appindexing/source/Additions/IPendingResultExtensions.cs
@@ -15,21 +15,26 @@ public static async Task EndAsync (this IAppIndexApi api, GoogleApiCli
public static async Task StartAsync (this IAppIndexApi api, GoogleApiClient apiClient, global::Android.Gms.AppIndexing.Action action) {
return (await api.Start (apiClient, action)).JavaCast ();
}
+ [Obsolete]
public static async Task ViewAsync (this IAppIndexApi api, GoogleApiClient apiClient, Android.App.Activity activity, Android.Content.Intent viewIntent, string title, Android.Net.Uri webUrl, IList outLinks) {
return (await api.View (apiClient, activity, viewIntent, title, webUrl, outLinks)).JavaCast ();
}
+ [Obsolete]
public static async Task ViewAsync (this IAppIndexApi api, GoogleApiClient apiClient, Android.App.Activity activity, Android.Net.Uri appIndexingUrl, string title, Android.Net.Uri webUrl, IList outLinks) {
return (await api.View (apiClient, activity, appIndexingUrl, title, webUrl, outLinks)).JavaCast ();
}
+ [Obsolete]
public static async Task ViewEndAsync (this IAppIndexApi api, GoogleApiClient apiClient, Android.App.Activity activity, Android.Content.Intent viewIntent) {
return (await api.ViewEnd (apiClient, activity, viewIntent)).JavaCast ();
}
+ [Obsolete]
public static async Task ViewEndAsync (this IAppIndexApi api, GoogleApiClient apiClient, Android.App.Activity activity, Android.Net.Uri appUri) {
return (await api.ViewEnd (apiClient, activity, appUri)).JavaCast ();
}
}
public static partial class IAppIndexApiActionResultExtensions {
+ [Obsolete]
public static async Task EndAsync (this IAppIndexApiActionResult api, GoogleApiClient apiClient) {
return (await api.End (apiClient)).JavaCast ();
}
diff --git a/appindexing/source/AppIndexing.csproj b/appindexing/source/AppIndexing.csproj
index db858161b..ab1935935 100644
--- a/appindexing/source/AppIndexing.csproj
+++ b/appindexing/source/AppIndexing.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{A069B942-EE12-4283-8C4C-F46549D3978A}
Library
GooglePlayServices.AppIndexing
@@ -11,11 +11,14 @@
Assets
False
Xamarin.GooglePlayServices.AppIndexing
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
+ 8.0.30703
+ 2.0
true
@@ -42,8 +45,24 @@
+
+ ..\..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+ False
@@ -75,6 +94,18 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
+
+ {865652D3-8D1A-4779-92FC-4C54719286B7}
+ Firebase-Common
+
-
\ No newline at end of file
+
diff --git a/appindexing/source/Properties/AssemblyInfo.cs b/appindexing/source/Properties/AssemblyInfo.cs
index 2124c46cf..c5b1495d9 100644
--- a/appindexing/source/Properties/AssemblyInfo.cs
+++ b/appindexing/source/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.AppIndexing")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("Xamarin")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
@@ -27,21 +27,22 @@
//[assembly: AssemblyKeyFile("")]
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS AppIndexing";
public const string AarPath = "m2repository/com/google/android/gms/play-services-appindexing/" + __GpsConsts.Version + "/play-services-appindexing-" + __GpsConsts.Version + ".aar";
}
diff --git a/appindexing/source/Transforms/Metadata.generated.xml b/appindexing/source/Transforms/Metadata.generated.xml
index 4a1755177..26c2f6238 100644
--- a/appindexing/source/Transforms/Metadata.generated.xml
+++ b/appindexing/source/Transforms/Metadata.generated.xml
@@ -1,171 +1,2 @@
- dest
- flags
- packageName
- corpusName
- uri
- dest
- flags
- content
- sectionInfo
- content
- sectionInfo
- globalSearchSectionType
- blobContent
- sectionInfo
- dest
- flags
- dest
- flags
- filterAccount
- includeDeviceOnlyData
- includeThirdPartyContext
- includeUsageEnded
- filterPackageName
- output
- flags
- output
- flags
- output
- flags
- packageName
- viewIntent
- title
- webUrl
- schemaOrgType
- outLinks
- eventStatus
- dest
- flags
- actionType
- objectName
- objectAppUri
- actionType
- objectName
- objectId
- objectAppUri
- actionType
- key
- value
- key
- value
- key
- value
- key
- values
- key
- values
- actionStatusType
- nameValue
- thing
- url
- objectValue
- uri
- packageName
- deepLink
- apiClient
- action
- apiClient
- action
- apiClient
- action
- apiClient
- activity
- viewIntent
- title
- webUrl
- outLinks
- apiClient
- activity
- appIndexingUrl
- title
- webUrl
- outLinks
- apiClient
- activity
- viewIntent
- apiClient
- activity
- appUri
- apiClient
- appUri
- webUrl
- view
- appUri
- view
- key
- value
- key
- value
- key
- value
- key
- values
- key
- values
- description
- id
- nameValue
- theType
- url
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- apiClient
- action
- apiClient
- action
- apiClient
- action
- apiClient
- activity
- viewIntent
- title
- webUrl
- outLinks
- apiClient
- activity
- appIndexingUrl
- title
- webUrl
- outLinks
- apiClient
- activity
- viewIntent
- apiClient
- activity
- appUri
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- client
- accessToken
- client
- webAppClientId
- parcel
- iValue
- client
- accessToken
- client
- webAppClientId
diff --git a/appindexing/source/Transforms/Metadata.xml b/appindexing/source/Transforms/Metadata.xml
index bd25a99e7..02f42076a 100644
--- a/appindexing/source/Transforms/Metadata.xml
+++ b/appindexing/source/Transforms/Metadata.xml
@@ -3,6 +3,9 @@
Android.Gms.AppIndexing
Android.Gms.AppDataSearch
Android.Gms.Search
+ Firebase.AppIndexing
+ Firebase.AppIndexing.Builders
+ Firebase.AppIndexing.Internal
@@ -14,6 +17,13 @@
+
+ source
+ size
+ dest
+ flags
+
+
APP_INDEX_API
API
diff --git a/appindexing/source/packages.config b/appindexing/source/packages.config
index 59cde6e53..71e0c9953 100644
--- a/appindexing/source/packages.config
+++ b/appindexing/source/packages.config
@@ -1,4 +1,9 @@
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/appinvite/component/component.template.yaml b/appinvite/component/component.template.yaml
index 5f5230226..19578e717 100644
--- a/appinvite/component/component.template.yaml
+++ b/appinvite/component/component.template.yaml
@@ -4,15 +4,10 @@ id: googleplayservices-appinvite
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: Enable your users to share your app with people they know.
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-appinvite_128x128.png
- - icons/googleplayservices-appinvite_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.AppInvite.dll
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
+ - ../../icons/play-services-appinvite_128x128.png
+ - ../../icons/play-services-appinvite_512x512.png
is_shell: true
packages:
android:
@@ -21,14 +16,16 @@ samples:
- name: "AppInvite Sample"
path: ../../appinvite/samples/AppInviteSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.AppInvite
+ - Base
+ - Basement
+ - Tasks
+ - AppInvite
installNuGets:
- project: AppInviteSample
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.AppInvite
local-nuget-repo: ../../output/
no_build: true
diff --git a/appinvite/component/icons/googleplayservices-appinvite_128x128.png b/appinvite/component/icons/googleplayservices-appinvite_128x128.png
deleted file mode 100644
index ae9d3fa0b..000000000
Binary files a/appinvite/component/icons/googleplayservices-appinvite_128x128.png and /dev/null differ
diff --git a/appinvite/component/icons/googleplayservices-appinvite_512x512.png b/appinvite/component/icons/googleplayservices-appinvite_512x512.png
deleted file mode 100644
index 6ba26a308..000000000
Binary files a/appinvite/component/icons/googleplayservices-appinvite_512x512.png and /dev/null differ
diff --git a/appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.nuspec b/appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.template.nuspec
similarity index 75%
rename from appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.nuspec
rename to appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.template.nuspec
index 5f402f496..5dd194c2d 100644
--- a/appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.nuspec
+++ b/appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.template.nuspec
@@ -7,22 +7,23 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - AppInvite
+ Xamarin.Android Bindings for Google Play Services - AppInvite $aar-version$
- Xamarin.Android Bindings for Google Play Services - AppInvite
+ Xamarin.Android Bindings for Google Play Services - AppInvite $aar-version$
App Invites provide a powerful way to organically grow your app, user-to-user. Your users recommend your app to their friends using personalized, contextual invitations powered by Google. App Invites provide a great onboarding experience to your new users. Google optimizes your app install rates by reducing friction and using relevant context at every step of the user invitation flow.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-appinvite/
http://components.xamarin.com/license/googleplayservices-appinvite/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.AppInvite.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-appinvite_128x128.png
+
-
+
diff --git a/appinvite/samples/AppInviteSample.UITests/AppInviteSample.UITests.csproj b/appinvite/samples/AppInviteSample.UITests/AppInviteSample.UITests.csproj
index e45b6e933..64447cc4e 100644
--- a/appinvite/samples/AppInviteSample.UITests/AppInviteSample.UITests.csproj
+++ b/appinvite/samples/AppInviteSample.UITests/AppInviteSample.UITests.csproj
@@ -29,12 +29,12 @@
-
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
-
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
diff --git a/appinvite/samples/AppInviteSample.UITests/packages.config b/appinvite/samples/AppInviteSample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/appinvite/samples/AppInviteSample.UITests/packages.config
+++ b/appinvite/samples/AppInviteSample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/appinvite/samples/AppInviteSample/AppInviteSample.csproj b/appinvite/samples/AppInviteSample/AppInviteSample.csproj
index c1de2d329..82a5421da 100644
--- a/appinvite/samples/AppInviteSample/AppInviteSample.csproj
+++ b/appinvite/samples/AppInviteSample/AppInviteSample.csproj
@@ -13,9 +13,10 @@
Resource
Resources\Resource.designer.cs
True
- True
+ false
AppInviteSample
- v5.1
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
full
@@ -37,15 +37,29 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -71,7 +85,7 @@
-
+
{A069B942-EE12-4283-9C4C-F46549D3978A}
diff --git a/appinvite/samples/AppInviteSample/Properties/AssemblyInfo.cs b/appinvite/samples/AppInviteSample/Properties/AssemblyInfo.cs
index 548c912ea..6e71f7fe7 100644
--- a/appinvite/samples/AppInviteSample/Properties/AssemblyInfo.cs
+++ b/appinvite/samples/AppInviteSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("AppInviteSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/appinvite/samples/AppInviteSample/packages.config b/appinvite/samples/AppInviteSample/packages.config
index 6cb850330..71e0c9953 100644
--- a/appinvite/samples/AppInviteSample/packages.config
+++ b/appinvite/samples/AppInviteSample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/appinvite/source/Additions/Manifest.cs b/appinvite/source/Additions/Manifest.cs
index 8853c9679..bf22b025f 100644
--- a/appinvite/source/Additions/Manifest.cs
+++ b/appinvite/source/Additions/Manifest.cs
@@ -2,6 +2,8 @@
using Android.Runtime;
using Android.App;
+[assembly: UsesPermission (Android.Manifest.Permission.Internet)]
+
namespace Android.Gms.AppInvite
{
// PACKAGE: com.google.android.gms.appinvite
@@ -22,6 +24,5 @@ namespace Android.Gms.AppInvite
[IntentFilter (new [] { "com.google.android.gms.appinvite.ACTION_PREVIEW" },
Categories = new [] { global::Android.Content.Intent.CategoryDefault })]
partial class PreviewActivity { }
-
}
diff --git a/appinvite/source/AppInvite.csproj b/appinvite/source/AppInvite.csproj
index 2bba3ef27..be4a0b811 100644
--- a/appinvite/source/AppInvite.csproj
+++ b/appinvite/source/AppInvite.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{A069B942-EE12-4283-9C4C-F46549D3978A}
Library
GooglePlayServices.AppInvite
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.AppInvite
- v4.1
+ v7.0
+ jar2xml
..\..\externals\docs\reference
+
+ source
+ size
+ dest
+ flags
+
AppInviteClass
API
diff --git a/appinvite/source/packages.config b/appinvite/source/packages.config
index 59cde6e53..71e0c9953 100644
--- a/appinvite/source/packages.config
+++ b/appinvite/source/packages.config
@@ -1,4 +1,9 @@
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/appstate/source/Additions/DataBufferAdditions.cs b/appstate/source/Additions/DataBufferAdditions.cs
deleted file mode 100644
index 2967cb07f..000000000
--- a/appstate/source/Additions/DataBufferAdditions.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using System;
-using System.Linq;
-using System.Collections.Generic;
-
-namespace Android.Gms.AppStates
-{
-// public partial class AppStateBuffer : IEnumerable
-// {
-// public IEnumerator GetEnumerator()
-// {
-// return this.ToEnumerable ().GetEnumerator();
-// }
-//
-// System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
-// {
-// return this.GetEnumerator();
-// }
-// }
-}
-
diff --git a/appstate/source/Transforms/Metadata.xml b/appstate/source/Transforms/Metadata.xml
deleted file mode 100644
index c85525a69..000000000
--- a/appstate/source/Transforms/Metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
- Android.Gms.AppStates
-
-
-
-
-
-
-
-
-
-
-
- public override
- Java.Lang.Object
-
diff --git a/appstate/source/packages.config b/appstate/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/appstate/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/art/.gitignore b/art/.gitignore
new file mode 100644
index 000000000..66afd82eb
--- /dev/null
+++ b/art/.gitignore
@@ -0,0 +1 @@
+Resources/
diff --git a/art/xamarin-firebase-banner.sketch b/art/xamarin-firebase-banner.sketch
new file mode 100644
index 000000000..5eb91361f
Binary files /dev/null and b/art/xamarin-firebase-banner.sketch differ
diff --git a/auth-base/nuget/Xamarin.GooglePlayServices.Auth.Base.template.nuspec b/auth-base/nuget/Xamarin.GooglePlayServices.Auth.Base.template.nuspec
new file mode 100644
index 000000000..484222d0d
--- /dev/null
+++ b/auth-base/nuget/Xamarin.GooglePlayServices.Auth.Base.template.nuspec
@@ -0,0 +1,26 @@
+
+
+
+ Xamarin.GooglePlayServices.Auth.Base
+ Xamarin Google Play Services - Auth Base
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - Auth Base $aar-version$
+
+ Xamarin.Android Bindings for Google Play Services - Auth Base $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-auth-base_128x128.png
+
+
+
+
+
+
+
+
+
diff --git a/auth-base/source/Additions/AboutAdditions.txt b/auth-base/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/auth-base/source/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/auth-base/source/Additions/PendingResultExtensions.cs b/auth-base/source/Additions/PendingResultExtensions.cs
new file mode 100644
index 000000000..1a1a69a86
--- /dev/null
+++ b/auth-base/source/Additions/PendingResultExtensions.cs
@@ -0,0 +1,34 @@
+using System;
+using System.Threading.Tasks;
+using Android.Gms.Common.Apis;
+using Android.Gms.Common;
+using Android.Runtime;
+
+namespace Android.Gms.Auth.Api.Proxy
+{
+ public static partial class IProxyApiExtensions
+ {
+ public static async Task PerformProxyRequestAsync (this IProxyApi api, GoogleApiClient client, Android.Gms.Auth.Api.Proxy.ProxyRequest request)
+ {
+ return (await api.PerformProxyRequest (client, request)).JavaCast ();
+ }
+ }
+}
+
+namespace Android.Gms.Auth.Account
+{
+ public static partial class IWorkAccountApiExtensions
+ {
+ public static async Task AddWorkAccountAsync (this IWorkAccountApi api, GoogleApiClient client, string token)
+ {
+ return (await api.AddWorkAccount (client, token)).JavaCast ();
+ }
+
+ public static async Task PerformProxyRequestAsync (this IWorkAccountApi api, GoogleApiClient client, Accounts.Account account)
+ {
+ return (await api.RemoveWorkAccount (client, account)).JavaCast ();
+ }
+ }
+}
+
+
diff --git a/auth-base/source/Auth.Base.csproj b/auth-base/source/Auth.Base.csproj
new file mode 100644
index 000000000..893bb432c
--- /dev/null
+++ b/auth-base/source/Auth.Base.csproj
@@ -0,0 +1,101 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 8.0.30703
+ 2.0
+ {B04C50F7-B0CC-4170-8820-9D584E1C0ED3}
+ Library
+ GooglePlayServices.Auth.Base
+ Resources
+ Assets
+ False
+ Xamarin.GooglePlayServices.Auth.Base
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+ ..\..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+
+
+
+ Jars\play-services-auth-base.jar
+
+
+
diff --git a/auth-base/source/Jars/AboutJars.txt b/auth-base/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/auth-base/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/auth-base/source/Properties/AssemblyInfo.cs b/auth-base/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..530971b7d
--- /dev/null
+++ b/auth-base/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.GooglePlayServices.Auth.Base")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-auth-base/" + __GpsConsts.Version + "/play-services-auth-base-" + __GpsConsts.Version + ".aar";
+}
diff --git a/auth-base/source/Transforms/EnumFields.xml b/auth-base/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/auth-base/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/auth-base/source/Transforms/EnumMethods.xml b/auth-base/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/auth-base/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/auth-base/source/Transforms/Metadata.generated.xml b/auth-base/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/auth-base/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/auth-base/source/Transforms/Metadata.xml b/auth-base/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..299db595d
--- /dev/null
+++ b/auth-base/source/Transforms/Metadata.xml
@@ -0,0 +1,24 @@
+
+
+ Android.Gms.Auth
+ Android.Gms.Auth.Account
+ Android.Gms.Auth.Api
+ Android.Gms.Auth.Api.Proxy
+
+
+
+
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
diff --git a/auth-base/source/packages.config b/auth-base/source/packages.config
new file mode 100644
index 000000000..71e0c9953
--- /dev/null
+++ b/auth-base/source/packages.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/auth/nuget/Xamarin.GooglePlayServices.Auth.nuspec b/auth/nuget/Xamarin.GooglePlayServices.Auth.template.nuspec
similarity index 54%
rename from auth/nuget/Xamarin.GooglePlayServices.Auth.nuspec
rename to auth/nuget/Xamarin.GooglePlayServices.Auth.template.nuspec
index e944c8bb4..e75c63df0 100644
--- a/auth/nuget/Xamarin.GooglePlayServices.Auth.nuspec
+++ b/auth/nuget/Xamarin.GooglePlayServices.Auth.template.nuspec
@@ -7,19 +7,21 @@
Xamarin Inc.
Xamarin Inc.
true
+ Xamarin.Android Bindings for Google Play Services - Auth $aar-version$
- Xamarin.Android Bindings for Google Play Services - Auth
+ Xamarin.Android Bindings for Google Play Services - Auth $aar-version$
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
https://github.com/xamarin/GooglePlayServicesComponents/
- https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Auth.png
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-auth_128x128.png
+
-
+
-
+
diff --git a/auth/source/Additions/IPendingResultExtensions.cs b/auth/source/Additions/IPendingResultExtensions.cs
index 3b9832aeb..e8b3c92ce 100644
--- a/auth/source/Additions/IPendingResultExtensions.cs
+++ b/auth/source/Additions/IPendingResultExtensions.cs
@@ -26,14 +26,3 @@ public static async Task SaveAsync (this ICredentialsApi api, GoogleAp
}
}
}
-
-namespace Android.Gms.Auth.Api.Proxy
-{
- public static partial class IProxyApiExtensions
- {
- public static async Task PerformProxyRequestAsync (this IProxyApi api, GoogleApiClient client, Android.Gms.Auth.Api.Proxy.ProxyRequest request)
- {
- return (await api.PerformProxyRequest (client, request)).JavaCast ();
- }
- }
-}
diff --git a/auth/source/Auth.csproj b/auth/source/Auth.csproj
index bff1a9827..c78fc16dd 100644
--- a/auth/source/Auth.csproj
+++ b/auth/source/Auth.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
8.0.30703
2.0
{A0CDF507-32B7-4994-8248-94FAB8646E35}
@@ -13,7 +13,8 @@
Assets
False
Xamarin.GooglePlayServices.Auth
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
-
@@ -20,6 +17,12 @@
+
+ source
+ size
+ dest
+ flags
+
CREDENTIALS_API
PROXY_API
GOOGLE_SIGN_IN_API
diff --git a/auth/source/packages.config b/auth/source/packages.config
index 59cde6e53..71e0c9953 100644
--- a/auth/source/packages.config
+++ b/auth/source/packages.config
@@ -1,4 +1,9 @@
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/awareness/nuget/Xamarin.GooglePlayServices.Awareness.template.nuspec b/awareness/nuget/Xamarin.GooglePlayServices.Awareness.template.nuspec
new file mode 100644
index 000000000..4f0acb07d
--- /dev/null
+++ b/awareness/nuget/Xamarin.GooglePlayServices.Awareness.template.nuspec
@@ -0,0 +1,28 @@
+
+
+
+ Xamarin.GooglePlayServices.Awareness
+ Xamarin Google Play Services - Awareness
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - Awareness $aar-version$
+
+ Xamarin.Android Bindings for Google Play Services - Awareness $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-awareness_128x128.png
+
+
+
+
+
+
+
+
+
+
+
diff --git a/awareness/source/Additions/AboutAdditions.txt b/awareness/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/awareness/source/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/awareness/source/Additions/PendingResultExtensions.cs b/awareness/source/Additions/PendingResultExtensions.cs
new file mode 100644
index 000000000..5f8816c12
--- /dev/null
+++ b/awareness/source/Additions/PendingResultExtensions.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Threading.Tasks;
+using Java.Interop;
+using Android.Gms.Common.Apis;
+using Android.Gms.Awareness.Fence;
+using Android.Gms.Awareness.Snapshot;
+using Android.Gms.Awareness.State;
+
+namespace Android.Gms.Awareness
+{
+ public static class IFenceApiExtensions
+ {
+ public static async Task QueryFencesAsync (this IFenceApi api, GoogleApiClient client, FenceQueryRequest fenceQueryRequest)
+ {
+ return (await api.QueryFences (client, fenceQueryRequest)).JavaCast ();
+ }
+ public static async Task UpdateFencesAsync (this IFenceApi api, GoogleApiClient client, IFenceUpdateRequest fenceUpdateRequest)
+ {
+ return (await api.UpdateFences (client, fenceUpdateRequest)).JavaCast ();
+ }
+ }
+
+ public static class ISnapshotApiExtensions
+ {
+ public static async Task GetBeaconStateAsync (this ISnapshotApi api, GoogleApiClient client, BeaconStateTypeFilter [] beaconTypes)
+ {
+ return (await api.GetBeaconState (client)).JavaCast ();
+ }
+ public static async Task GetBeaconStateAsync (this ISnapshotApi api, GoogleApiClient client, System.Collections.Generic.ICollection beaconTypes)
+ {
+ return (await api.GetBeaconState (client)).JavaCast ();
+ }
+ public static async Task GetDetectedActivityAsync (this ISnapshotApi api, GoogleApiClient client)
+ {
+ return (await api.GetDetectedActivity (client)).JavaCast ();
+ }
+ public static async Task GetHeadphoneStateAsync (this ISnapshotApi api, GoogleApiClient client)
+ {
+ return (await api.GetHeadphoneState (client)).JavaCast ();
+ }
+ public static async Task GetLocationAsync (this ISnapshotApi api, GoogleApiClient client)
+ {
+ return (await api.GetLocation (client)).JavaCast ();
+ }
+ public static async Task GetPlacesAsync (this ISnapshotApi api, GoogleApiClient client)
+ {
+ return (await api.GetPlaces (client)).JavaCast ();
+ }
+ public static async Task GetWeatherAsync (this ISnapshotApi api, GoogleApiClient client)
+ {
+ return (await api.GetWeather (client)).JavaCast ();
+ }
+ }
+}
+
+
+
diff --git a/awareness/source/Awareness.csproj b/awareness/source/Awareness.csproj
new file mode 100644
index 000000000..381dca468
--- /dev/null
+++ b/awareness/source/Awareness.csproj
@@ -0,0 +1,110 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 8.0.30703
+ 2.0
+ {541FC839-6065-4681-B6A4-C3BF358F78E9}
+ Library
+ GooglePlayServices.Awareness
+ Resources
+ Assets
+ False
+ Xamarin.GooglePlayServices.Awareness
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+ ..\..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+ False
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {F666DC89-9CE4-491C-8450-6FBC70298FA3}
+ Location
+
+
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}
+ Places
+
+
+
+
+
+ Jars\play-services-awareness.jar
+
+
+
diff --git a/awareness/source/Jars/AboutJars.txt b/awareness/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/awareness/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/awareness/source/Properties/AssemblyInfo.cs b/awareness/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..e13180aa5
--- /dev/null
+++ b/awareness/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.GooglePlayServices.Awareness")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-awareness/" + __GpsConsts.Version + "/play-services-awareness-" + __GpsConsts.Version + ".aar";
+}
diff --git a/awareness/source/Transforms/EnumFields.xml b/awareness/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/awareness/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/awareness/source/Transforms/EnumMethods.xml b/awareness/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/awareness/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/awareness/source/Transforms/Metadata.generated.xml b/awareness/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/awareness/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/awareness/source/Transforms/Metadata.xml b/awareness/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..01cce7441
--- /dev/null
+++ b/awareness/source/Transforms/Metadata.xml
@@ -0,0 +1,30 @@
+
+
+ Android.ContextManager.Interest
+ Android.Gms.Awareness
+ Android.Gms.Awareness.Fence
+ Android.Gms.Awareness.Snapshot
+ Android.Gms.Awareness.Snapshot.Internal
+ Android.Gms.Awareness.State
+ Android.Gms.ContextManager
+ Android.Gms.ContextManager.Fence.Internal
+ Android.Gms.ContextManager.Internal
+
+
+
+
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
+
diff --git a/awareness/source/packages.config b/awareness/source/packages.config
new file mode 100644
index 000000000..71e0c9953
--- /dev/null
+++ b/awareness/source/packages.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/base/nuget/Xamarin.GooglePlayServices.Base.nuspec b/base/nuget/Xamarin.GooglePlayServices.Base.nuspec
deleted file mode 100644
index 12ddee3c0..000000000
--- a/base/nuget/Xamarin.GooglePlayServices.Base.nuspec
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
- Xamarin.GooglePlayServices.Base
- Xamarin Google Play Services - Base
- $version$
- Xamarin Inc.
- Xamarin Inc.
- true
- Xamarin.Android Bindings for Google Play Services - do not install directly
-
- Xamarin.Android Bindings for Google Play Services - You should not install this package directly
-
- Instead of installing this package directly, install the specific package(s) you need:
- - Xamarin Google Play Services - Ads
- - Xamarin Google Play Services - Analytics
- - Xamarin Google Play Services - AppIndexing
- - Xamarin Google Play Services - AppInvite
- - Xamarin Google Play Services - Auth
- - Xamarin Google Play Services - Cast
- - Xamarin Google Play Services - Drive
- - Xamarin Google Play Services - Fitness
- - Xamarin Google Play Services - Games
- - Xamarin Google Play Services - GCM
- - Xamarin Google Play Services - Identity
- - Xamarin Google Play Services - Location
- - Xamarin Google Play Services - Maps
- - Xamarin Google Play Services - Measurement
- - Xamarin Google Play Services - Nearby
- - Xamarin Google Play Services - Panorama
- - Xamarin Google Play Services - Plus
- - Xamarin Google Play Services - SafetyNet
- - Xamarin Google Play Services - Vision
- - Xamarin Google Play Services - Wallet
- - Xamarin Google Play Services - Wearable
-
- Copyright 2013-2016
- https://github.com/xamarin/GooglePlayServicesComponents/
- https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Base.png
-
-
-
-
-
-
-
-
-
diff --git a/base/nuget/Xamarin.GooglePlayServices.Base.template.nuspec b/base/nuget/Xamarin.GooglePlayServices.Base.template.nuspec
new file mode 100644
index 000000000..5221ba4ef
--- /dev/null
+++ b/base/nuget/Xamarin.GooglePlayServices.Base.template.nuspec
@@ -0,0 +1,28 @@
+
+
+
+ Xamarin.GooglePlayServices.Base
+ Xamarin Google Play Services - Base
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - Base $aar-version$ - do not install directly
+
+ Xamarin.Android Bindings for Google Play Services - Base $aar-version$ - You should not install this package directly
+
+ Instead of installing this package directly, install the specific package(s) you need.
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-base_128x128.png
+
+
+
+
+
+
+
+
+
diff --git a/base/source/Additions/BasementTypeForwards.cs b/base/source/Additions/BasementTypeForwards.cs
deleted file mode 100644
index 564076c15..000000000
--- a/base/source/Additions/BasementTypeForwards.cs
+++ /dev/null
@@ -1,82 +0,0 @@
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.AccountChangeEvent))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.AccountChangeEventsRequest))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.AccountChangeEventsResponse))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.GoogleAuthException))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.GoogleAuthUtil))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.GooglePlayServicesAvailabilityException))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.TokenData))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.UserRecoverableAuthException))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.UserRecoverableNotifiedException))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Auth))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Consent.GetConsentIntentRequest))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.Credential))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.CredentialPickerConfig))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.CredentialRequest))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.CredentialsApi))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.CredentialsApiConsts))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.ICredentialRequestResult))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.ICredentialsApi))]
-////[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.ICredentialsApiExtensions))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.IdentityProviders))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.IdToken))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.PasswordSpecification))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.Internal.DeleteRequest))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Credentials.Internal.SaveRequest))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Proxy.IProxyApi))]
-////[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Proxy.IProxyApiExtensions))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Proxy.IProxyApiProxyResult))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Proxy.ProxyGrpcRequest))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Proxy.ProxyRequest))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.Proxy.ProxyResponse))]
-////[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.SignIn.EmailSignInConfig))]
-////[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.SignIn.FacebookSignInConfig))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.SignIn.GoogleSignInAccount))]
-////[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.SignIn.GoogleSignInConfig))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.Api.SignIn.Internal.SignInConfiguration))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.FirstParty.Shared.FACLConfig))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.FirstParty.Shared.FACLData))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Auth.FirstParty.Shared.ScopeDetail))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.AccountPicker))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.ConnectionResult))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.ErrorDialogFragment))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.GoogleApiAvailability))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.GooglePlayServicesNotAvailableException))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.GooglePlayServicesRepairableException))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.GooglePlayServicesUtil))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Scopes))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.SupportErrorDialogFragment))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.UserRecoverableException))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Annotations.IKeepName))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Annotations.KeepNameAttribute))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.Api))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.AwaitableResultCallback<>))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.BatchResult))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.BatchResultToken))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.BooleanResult))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.CommonStatusCodes))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.GoogleApiClient))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.IPendingResultExtensions))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.IReleasable))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.IResult))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.IResultCallback))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.OptionalPendingResult))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.PendingResult))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.PendingResults))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.PendingResultsExtensions))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.ResolvingResultCallbacks))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.ResultCallback<>))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.ResultCallbacks))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.Scope))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Apis.Statuses))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Internal.DowngradeableSafeParcel))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Internal.SafeParcel.ISafeParcelable))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Internal.SafeParcel.SafeParcelable))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Internal.SafeParcel.SafeParcelableConsts))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Server.FavaDiagnosticsEntity))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Server.Converter.ConverterWrapper))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Server.Response.FastJsonResponse))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Server.Response.FastSafeParcelableJsonResponse))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Server.Response.FieldMappingDictionary))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Common.Server.Response.SafeParcelResponse))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Dynamic.ILifecycleDelegate))]
-//[assembly:System.Runtime.CompilerServices.TypeForwardedTo(typeof(Android.Gms.Security.ProviderInstaller))]
diff --git a/basement/source/Additions/GoogleApiClientAdditions.cs b/base/source/Additions/Extensions.cs
similarity index 71%
rename from basement/source/Additions/GoogleApiClientAdditions.cs
rename to base/source/Additions/Extensions.cs
index 42161469b..8e448ca22 100644
--- a/basement/source/Additions/GoogleApiClientAdditions.cs
+++ b/base/source/Additions/Extensions.cs
@@ -1,5 +1,4 @@
using System;
-using System.Threading;
using System.Threading.Tasks;
using Android.Gms.Common;
using Android.Gms.Common.Apis;
@@ -24,16 +23,17 @@ public static Task BuildAndConnectAsync (this GoogleApiClient.B
return tcsConnected.Task;
}
- }
- public class GoogleApiClientConnectionException : Exception
- {
- public GoogleApiClientConnectionException (ConnectionResult connectionResult)
- : base (connectionResult.ErrorMessage)
+ public class GoogleApiClientConnectionException : Exception
{
- ConnectionResult = connectionResult;
- }
+ public GoogleApiClientConnectionException (ConnectionResult connectionResult)
+ : base (connectionResult.ErrorMessage)
+ {
+ ConnectionResult = connectionResult;
+ }
- public ConnectionResult ConnectionResult { get; private set; }
+ public ConnectionResult ConnectionResult { get; private set; }
+ }
}
}
+
diff --git a/base/source/Additions/GoogleApiAvailability.cs b/base/source/Additions/GoogleApiAvailability.cs
index 9e7eaa674..d750e3640 100644
--- a/base/source/Additions/GoogleApiAvailability.cs
+++ b/base/source/Additions/GoogleApiAvailability.cs
@@ -1,4 +1,5 @@
using System;
+using Android.Gms.Extensions;
namespace Android.Gms.Common
{
@@ -18,5 +19,10 @@ public override Android.App.PendingIntent GetErrorResolutionPendingIntent (Andro
{
return base.GetErrorResolutionPendingIntent (context, errorCode, requestCode);
}
+
+ public System.Threading.Tasks.Task MakeGooglePlayServicesAvailableAsync (App.Activity activity)
+ {
+ return MakeGooglePlayServicesAvailable (activity).AsAsync ();
+ }
}
}
diff --git a/base/source/Additions/Manifest.cs b/base/source/Additions/Manifest.cs
new file mode 100644
index 000000000..9846e18cd
--- /dev/null
+++ b/base/source/Additions/Manifest.cs
@@ -0,0 +1,14 @@
+using System;
+using Android.App;
+
+namespace Android.Gms.Common.Apis
+{
+ [Activity (
+ Name="com.google.android.gms.common.api.GoogleApiActivity",
+ Exported=false,
+ Theme = "@android:style/Theme.Translucent.NoTitleBar")]
+ public partial class GoogleApiActivity
+ {
+ }
+}
+
diff --git a/base/source/Additions/ResultCallbackImpl.cs b/base/source/Additions/ResultCallbackImpl.cs
index b9ce5dd97..45c900577 100644
--- a/base/source/Additions/ResultCallbackImpl.cs
+++ b/base/source/Additions/ResultCallbackImpl.cs
@@ -1,158 +1,132 @@
-//using System;
-//using Android.Runtime;
-//using Java.Util.Concurrent;
-//using Android.OS;
-//using System.Threading.Tasks;
-//using System.Runtime.CompilerServices;
-//
-//namespace Android.Gms.Common.Apis
-//{
-// public class ResultCallback : Java.Lang.Object, IResultCallback where TResult : class, IResult
-// {
-// public ResultCallback (Action handler)
-// {
-// OnResultHandler = handler;
-// }
-//
-// public Action OnResultHandler { get; private set; }
-//
-// public void OnResult (Java.Lang.Object result)
-// {
-// var h = OnResultHandler;
-// if (h != null)
-// h(result.JavaCast ());
-// }
-// }
-//
-// public class AwaitableResultCallback : Java.Lang.Object, IResultCallback where TResult : class, IResult
-// {
-// public AwaitableResultCallback ()
-// {
-// taskCompletionSource = new TaskCompletionSource ();
-// }
-//
-// TaskCompletionSource taskCompletionSource;
-//
-// public void OnResult (Java.Lang.Object result)
-// {
-// var r = result.JavaCast ();
-//
-// taskCompletionSource.SetResult (r);
-// }
-//
-// public Task AwaitAsync ()
-// {
-// return taskCompletionSource.Task;
-// }
-//
-// public TaskAwaiter GetAwaiter ()
-// {
-// return taskCompletionSource.Task.GetAwaiter ();
-// }
-// }
-//
-// public static class IPendingResultExtensions
-// {
-// public static void SetResultCallback (this IPendingResult pr, Action callback) where TResult : class, IResult
-// {
-// pr.SetResultCallback (new ResultCallback (callback));
-// }
-//
-// public static Task AsAsync (this IPendingResult pr) where TResult : class, IResult
-// {
-// var rc = new AwaitableResultCallback ();
-//
-// pr.SetResultCallback (rc);
-//
-// return rc.AwaitAsync ();
-// }
-//
-// public static async Task AsAsync (this IPendingResult pr)
-// {
-// var rc = new AwaitableResultCallback ();
-//
-// pr.SetResultCallback (rc);
-//
-// await rc.AwaitAsync ();
-// }
-//
-// public static TaskAwaiter GetAwaiter(this IPendingResult pr) where TResult : class, IResult
-// {
-// var rc = new AwaitableResultCallback ();
-//
-// pr.SetResultCallback (rc);
-//
-// return rc.GetAwaiter ();
-// }
-//
-// public static TaskAwaiter GetAwaiter (this IPendingResult pr)
-// {
-// var rc = new AwaitableResultCallback ();
-//
-// pr.SetResultCallback (rc);
-//
-// return rc.GetAwaiter ();
-// }
-// }
-//
-// public partial class GoogleApiClientBuilder
-// {
-// public GoogleApiClientBuilder AddConnectionCallbacks (Action connectedCallback, Action connectionSuspendedCallback)
-// {
-// return AddConnectionCallbacks (new IGoogleApiClientConnectionCallbacksImpl (connectedCallback, connectionSuspendedCallback));
-// }
-//
-// public GoogleApiClientBuilder AddOnConnectionFailedListener (Action callback)
-// {
-// return AddOnConnectionFailedListener (new IGoogleApiClientOnConnectionFailedListenerImpl (callback));
-// }
-//
-// public GoogleApiClientBuilder EnableAutoManage (Android.Support.V4.App.FragmentActivity fragmentActivity, int clientId, Action unresolvedConnectionFailedHandler)
-// {
-// return EnableAutoManage (fragmentActivity, clientId, new IGoogleApiClientOnConnectionFailedListenerImpl (unresolvedConnectionFailedHandler));
-// }
-// }
-//
-// internal class IGoogleApiClientConnectionCallbacksImpl : Java.Lang.Object, IGoogleApiClientConnectionCallbacks
-// {
-// public IGoogleApiClientConnectionCallbacksImpl (Action onConnectedHandler, Action onConnectionSuspendedHandler)
-// {
-// OnConnectedHandler = onConnectedHandler;
-// OnConnectionSuspendedHandler = onConnectionSuspendedHandler;
-// }
-//
-// public Action OnConnectedHandler { get; private set; }
-// public Action OnConnectionSuspendedHandler { get; private set; }
-//
-// public void OnConnected (Bundle bundle)
-// {
-// var h = OnConnectedHandler;
-// if (h != null)
-// h (bundle);
-// }
-//
-// public void OnConnectionSuspended (int cause)
-// {
-// var h = OnConnectionSuspendedHandler;
-// if (h != null)
-// h (cause);
-// }
-// }
-//
-// internal class IGoogleApiClientOnConnectionFailedListenerImpl : Java.Lang.Object, IGoogleApiClientOnConnectionFailedListener
-// {
-// public IGoogleApiClientOnConnectionFailedListenerImpl (Action handler)
-// {
-// OnConnectionFailedHandler = handler;
-// }
-//
-// public Action OnConnectionFailedHandler { get; private set; }
-//
-// public void OnConnectionFailed (Android.Gms.Common.ConnectionResult result)
-// {
-// var h = OnConnectionFailedHandler;
-// if (h != null)
-// h (result);
-// }
-// }
-//}
+using System;
+using Android.Runtime;
+using Java.Util.Concurrent;
+using Android.OS;
+using System.Threading.Tasks;
+using System.Runtime.CompilerServices;
+
+namespace Android.Gms.Common.Apis
+{
+ public static class IPendingResultExtensions
+ {
+ public static void SetResultCallback (this PendingResult pr, Action callback) where TResult : class, IResult
+ {
+ pr.SetResultCallback (new ResultCallback (callback));
+ }
+
+ public static Task AsAsync (this PendingResult pr) where TResult : class, IResult
+ {
+ var rc = new AwaitableResultCallback ();
+
+ pr.SetResultCallback (rc);
+
+ return rc.AwaitAsync ();
+ }
+
+ public static async Task AsAsync (this PendingResult pr)
+ {
+ var rc = new AwaitableResultCallback ();
+
+ pr.SetResultCallback (rc);
+
+ await rc.AwaitAsync ();
+ }
+
+ public static TaskAwaiter GetAwaiter (this PendingResult pr) where TResult : class, IResult
+ {
+ var rc = new AwaitableResultCallback ();
+
+ pr.SetResultCallback (rc);
+
+ return rc.GetAwaiter ();
+ }
+
+ public static TaskAwaiter GetAwaiter (this PendingResult pr)
+ {
+ var rc = new AwaitableResultCallback ();
+
+ pr.SetResultCallback (rc);
+
+ return rc.GetAwaiter ();
+ }
+ }
+
+ public partial class GoogleApiClient
+ {
+ public partial class Builder
+ {
+ public Builder AddConnectionCallbacks (Action connectedCallback, Action connectionSuspendedCallback)
+ {
+ return AddConnectionCallbacks (new GoogleApiClientConnectionCallbacksImpl (connectedCallback, connectionSuspendedCallback));
+ }
+
+ public Builder AddConnectionCallbacks (Action connectedCallback)
+ {
+ return AddConnectionCallbacks (new GoogleApiClientConnectionCallbacksImpl (connectedCallback, null));
+ }
+
+ public Builder AddConnectionCallbacks (Action connectedCallback)
+ {
+ return AddConnectionCallbacks (new GoogleApiClientConnectionCallbacksImpl (h => connectedCallback (), null));
+ }
+
+ public Builder AddOnConnectionFailedListener (Action callback)
+ {
+ return AddOnConnectionFailedListener (new GoogleApiClientOnConnectionFailedListenerImpl (callback));
+ }
+
+ public Builder EnableAutoManage (Android.Support.V4.App.FragmentActivity fragmentActivity, int clientId, Action unresolvedConnectionFailedHandler)
+ {
+ return EnableAutoManage (fragmentActivity, clientId, new GoogleApiClientOnConnectionFailedListenerImpl (unresolvedConnectionFailedHandler));
+ }
+
+ public Builder EnableAutoManage (Android.Support.V4.App.FragmentActivity fragmentActivity, Action unresolvedConnectionFailedHandler)
+ {
+ return EnableAutoManage (fragmentActivity, new GoogleApiClientOnConnectionFailedListenerImpl (unresolvedConnectionFailedHandler));
+ }
+ }
+ }
+
+ internal class GoogleApiClientConnectionCallbacksImpl : Java.Lang.Object, GoogleApiClient.IConnectionCallbacks
+ {
+ public GoogleApiClientConnectionCallbacksImpl (Action onConnectedHandler, Action onConnectionSuspendedHandler)
+ {
+ OnConnectedHandler = onConnectedHandler;
+ OnConnectionSuspendedHandler = onConnectionSuspendedHandler;
+ }
+
+ public Action OnConnectedHandler { get; private set; }
+ public Action OnConnectionSuspendedHandler { get; private set; }
+
+ public void OnConnected (Bundle bundle)
+ {
+ var h = OnConnectedHandler;
+ if (h != null)
+ h (bundle);
+ }
+
+ public void OnConnectionSuspended (int cause)
+ {
+ var h = OnConnectionSuspendedHandler;
+ if (h != null)
+ h (cause);
+ }
+ }
+
+ internal class GoogleApiClientOnConnectionFailedListenerImpl : Java.Lang.Object, GoogleApiClient.IOnConnectionFailedListener
+ {
+ public GoogleApiClientOnConnectionFailedListenerImpl (Action handler)
+ {
+ OnConnectionFailedHandler = handler;
+ }
+
+ public Action OnConnectionFailedHandler { get; private set; }
+
+ public void OnConnectionFailed (Android.Gms.Common.ConnectionResult result)
+ {
+ var h = OnConnectionFailedHandler;
+ if (h != null)
+ h (result);
+ }
+ }
+}
diff --git a/base/source/Base.csproj b/base/source/Base.csproj
index 61d6bdd2a..6d2fbf7f1 100644
--- a/base/source/Base.csproj
+++ b/base/source/Base.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{3F6BAE25-ADEB-468C-8384-AD655623C341}
Library
GooglePlayServices.Base
@@ -11,12 +11,15 @@
Assets
False
Xamarin.GooglePlayServices.Base
- v4.1
- -XX:-UseSplitVerifier
+ v7.0
+
+ jar2xml
..\..\externals\docs\reference
+ 8.0.30703
+ 2.0
true
@@ -43,8 +46,23 @@
+
+ ..\..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -55,8 +73,9 @@
Properties\GpsConsts.cs
-
+
+
@@ -79,6 +98,10 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
diff --git a/base/source/Properties/AssemblyInfo.cs b/base/source/Properties/AssemblyInfo.cs
index 5abe94899..f5ebbde85 100644
--- a/base/source/Properties/AssemblyInfo.cs
+++ b/base/source/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.Base")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("Xamarin")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
@@ -27,22 +27,22 @@
//[assembly: AssemblyKeyFile("")]
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS Base";
public const string AarPath = "m2repository/com/google/android/gms/play-services-base/" + __GpsConsts.Version + "/play-services-base-" + __GpsConsts.Version + ".aar";
}
-
\ No newline at end of file
diff --git a/base/source/Transforms/Metadata.generated.xml b/base/source/Transforms/Metadata.generated.xml
index 49c0c7699..26c2f6238 100644
--- a/base/source/Transforms/Metadata.generated.xml
+++ b/base/source/Transforms/Metadata.generated.xml
@@ -1,245 +1,2 @@
- context
- token
- context
- eventIndex
- accountName
- ctx
- accountName
- context
- account
- scope
- context
- account
- scope
- extras
- context
- accountName
- scope
- context
- accountName
- scope
- extras
- context
- account
- scope
- extras
- context
- account
- scope
- extras
- callback
- context
- account
- scope
- extras
- authority
- syncBundle
- context
- accountName
- scope
- extras
- context
- accountName
- scope
- extras
- callback
- context
- accountName
- scope
- extras
- authority
- syncBundle
- context
- token
- dialog
- dialog
- cancelListener
- dialog
- savedInstanceState
- manager
- tag
- activity
- errorCode
- requestCode
- activity
- errorCode
- requestCode
- cancelListener
- context
- errorCode
- requestCode
- errorCode
- context
- context
- errorCode
- activity
- errorCode
- requestCode
- activity
- errorCode
- requestCode
- cancelListener
- context
- errorCode
- errorCode
- activity
- requestCode
- errorCode
- activity
- requestCode
- cancelListener
- errorCode
- context
- requestCode
- errorCode
- context
- context
- context
- context
- errorCode
- errorCode
- activity
- requestCode
- errorCode
- activity
- requestCode
- cancelListener
- errorCode
- activity
- fragment
- requestCode
- cancelListener
- errorCode
- context
- context
- context
- attrs
- context
- attrs
- defStyle
- view
- colorScheme
- enabled
- listener
- scopes
- buttonSize
- buttonSize
- colorScheme
- buttonSize
- colorScheme
- scopes
- dialog
- dialog
- cancelListener
- dialog
- savedInstanceState
- manager
- tag
- dataHolder
- teleportee
- dest
- flags
- position
- count
- position
- count
- fromPosition
- toPosition
- count
- position
- count
- observer
- observer
- observer
- position
- count
- position
- count
- fromPosition
- toPosition
- count
- position
- count
- observer
- buffer
- buffer
- buffer
- buffer
- columns
- windows
- statusCode
- metadata
- dest
- flags
- list
- array
- iterable
- objValue
- column
- column
- column
- column
- column
- column
- position
- context
- imageView
- resId
- imageView
- uri
- imageView
- uri
- defaultResId
- listener
- uri
- listener
- uri
- defaultResId
- width
- height
- objValue
- stringValue
- url
- url
- width
- height
- json
- other
- output
- flags
- objValue
- objValue
- buttonSize
- colorScheme
- scopes
- dest
- flags
- code
- data
- reply
- flags
- savedInstanceState
- inflater
- container
- savedInstanceState
- activity
- attrs
- savedInstanceState
- outState
- canvas
- who
- bounds
- who
- what
- when
- alpha
- cf
- durationMillis
- who
- what
- canvas
- widthMeasureSpec
- heightMeasureSpec
- objValue
diff --git a/base/source/Transforms/Metadata.xml b/base/source/Transforms/Metadata.xml
index fce2ba17b..b58d69711 100644
--- a/base/source/Transforms/Metadata.xml
+++ b/base/source/Transforms/Metadata.xml
@@ -3,19 +3,22 @@
Android.Gms.Actions
Android.Gms.Auth
+ Android.Gms.Auth.Account
Android.Gms.Common
Android.Gms.Common.Data
Android.Gms.Common.Images
Android.Gms.Common.Internal
Android.Gms.Common.Api.Internal
-
+ Android.Gms.Auth.Api.SignIn
+ Android.Gms.Auth.Api.SignIn.Internal
+ Android.Gms.Common.Apis
+ Android.Gms.SignIn.Internal
-
-
+
@@ -34,10 +37,20 @@
Java.Lang.Object
Java.Lang.Object[]
+
+
+
+
+
+
source
size
dest
flags
+
+ Android.Gms.Common.Apis.Api.IApiOptionsHasOptions
+ Android.Gms.Common.Apis.Api.IApiOptionsHasOptions
+
diff --git a/base/source/packages.config b/base/source/packages.config
index 59cde6e53..71e0c9953 100644
--- a/base/source/packages.config
+++ b/base/source/packages.config
@@ -1,4 +1,9 @@
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/basement/buildtasks.tests/Basement.BuildTasks.Tests.csproj b/basement/buildtasks.tests/Basement.BuildTasks.Tests.csproj
new file mode 100644
index 000000000..09cec4014
--- /dev/null
+++ b/basement/buildtasks.tests/Basement.BuildTasks.Tests.csproj
@@ -0,0 +1,50 @@
+
+
+
+ Debug
+ AnyCPU
+ 8.0.30703
+ 2.0
+ {76CDBE93-0177-4980-8514-C4D785E1DC78}
+ Library
+ buildtasks.tests
+ buildtasks.tests
+ v4.5
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ false
+
+
+ true
+ bin\Release
+ prompt
+ 4
+ false
+
+
+
+
+ ..\..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+
+
+
+
+
+
+
+
+
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}
+ Basement-BuildTasks
+
+
+
+
\ No newline at end of file
diff --git a/basement/buildtasks.tests/Test.cs b/basement/buildtasks.tests/Test.cs
new file mode 100644
index 000000000..3545be809
--- /dev/null
+++ b/basement/buildtasks.tests/Test.cs
@@ -0,0 +1,85 @@
+using NUnit.Framework;
+using System;
+using System.IO;
+using Xamarin.GooglePlayServices.Tasks;
+using System.Reflection;
+
+namespace buildtasks.tests
+{
+ [TestFixture ()]
+ public class GoogleServicesJsonTests
+ {
+ const string TestPkgName = "com.xamarin.sample";
+
+ static Stream OpenTestFile ()
+ {
+ var path = Path.Combine (TestContext.CurrentContext.TestDirectory, "..", "..", "google-services.json");
+
+ return File.OpenRead (path);
+ }
+
+ [Test]
+ public void GoogleApiKey_Should_Match_Test ()
+ {
+ var g = GoogleServicesJsonProcessor.ProcessJson (TestPkgName, OpenTestFile ());
+ var v = g.GetGoogleApiKey (TestPkgName);
+
+ Assert.AreEqual ("AIzaSyCfJp9rrUEaA07vdoGvGQgJqm0Fa9cJGiw", v);
+ }
+
+ [Test]
+ public void GoogleAppId_Should_Match_Test ()
+ {
+ var g = GoogleServicesJsonProcessor.ProcessJson (TestPkgName, OpenTestFile ());
+ var v = g.GetGoogleAppId (TestPkgName);
+
+ Assert.AreEqual ("1:1041063143217:android:ffbe6976403db935", v);
+ }
+
+ [Test]
+ public void CrashReportingApiKey_Should_Match_Test ()
+ {
+ var g = GoogleServicesJsonProcessor.ProcessJson (TestPkgName, OpenTestFile ());
+ var v = g.GetCrashReportingApiKey (TestPkgName);
+
+ Assert.AreEqual ("AIzaSyCfJp9rrUEaA07vdoGvGQgJqm0Fa9cJGiw", v);
+ }
+
+ [Test]
+ public void DefaultGcmSenderId_Should_Match_Test ()
+ {
+ var g = GoogleServicesJsonProcessor.ProcessJson (TestPkgName, OpenTestFile ());
+ var v = g.GetDefaultGcmSenderId ();
+
+ Assert.AreEqual ("1041063143217", v);
+ }
+
+ [Test]
+ public void DefaultWebClientId_Should_Match_Test ()
+ {
+ var g = GoogleServicesJsonProcessor.ProcessJson (TestPkgName, OpenTestFile ());
+ var v = g.GetDefaultWebClientId (TestPkgName);
+
+ Assert.AreEqual ("1041063143217-hu5u4dnv8dkj19i4tpi6piv97kd2k9i0.apps.googleusercontent.com", v);
+ }
+
+ [Test]
+ public void FirebaseDatabaseUrl_Should_Match_Test ()
+ {
+ var g = GoogleServicesJsonProcessor.ProcessJson (TestPkgName, OpenTestFile ());
+ var v = g.GetFirebaseDatabaseUrl ();
+
+ Assert.AreEqual ("https://white-cedar-97320.firebaseio.com", v);
+ }
+
+ [Test]
+ public void GATrackingId_Should_Match_Test ()
+ {
+ var g = GoogleServicesJsonProcessor.ProcessJson (TestPkgName, OpenTestFile ());
+ var v = g.GetGATrackingId (TestPkgName);
+
+ Assert.AreEqual ("UA-6465612-26", v);
+ }
+ }
+}
+
diff --git a/basement/buildtasks/google-services.json b/basement/buildtasks.tests/google-services.json
similarity index 67%
rename from basement/buildtasks/google-services.json
rename to basement/buildtasks.tests/google-services.json
index efaf9cf8f..f9d9e874e 100644
--- a/basement/buildtasks/google-services.json
+++ b/basement/buildtasks.tests/google-services.json
@@ -1,18 +1,16 @@
{
"project_info": {
- "project_id": "white-cedar-97320",
"project_number": "1041063143217",
- "name": "Xamarin"
+ "firebase_url": "https://white-cedar-97320.firebaseio.com",
+ "project_id": "white-cedar-97320",
+ "storage_bucket": "white-cedar-97320.appspot.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:1041063143217:android:ffbe6976403db935",
- "client_id": "android:com.xamarin.sample",
- "client_type": 1,
"android_client_info": {
- "package_name": "com.xamarin.sample",
- "certificate_hash": []
+ "package_name": "com.xamarin.sample"
}
},
"oauth_client": [
@@ -24,12 +22,20 @@
"certificate_hash": "84949BBD3F34C8290A55AC9B66AD0A701EBA67AC"
}
},
+ {
+ "client_id": "1041063143217-hu5u4dnv8dkj19i4tpi6piv97kd2k9i0.apps.googleusercontent.com",
+ "client_type": 3
+ },
{
"client_id": "1041063143217-n82odtjjgs9g2qnh1t470mdhj086id9f.apps.googleusercontent.com",
"client_type": 3
}
],
- "api_key": [],
+ "api_key": [
+ {
+ "current_key": "AIzaSyCfJp9rrUEaA07vdoGvGQgJqm0Fa9cJGiw"
+ }
+ ],
"services": {
"analytics_service": {
"status": 2,
@@ -37,38 +43,27 @@
"tracking_id": "UA-6465612-26"
}
},
- "cloud_messaging_service": {
- "status": 2,
- "apns_config": []
- },
"appinvite_service": {
"status": 2,
"other_platform_oauth_client": [
{
- "client_id": "1041063143217-n82odtjjgs9g2qnh1t470mdhj086id9f.apps.googleusercontent.com",
+ "client_id": "1041063143217-hu5u4dnv8dkj19i4tpi6piv97kd2k9i0.apps.googleusercontent.com",
"client_type": 3
},
{
"client_id": "1041063143217-rdc97s7jssl1k29c83b6oci04sihqkdi.apps.googleusercontent.com",
"client_type": 2,
"ios_info": {
- "bundle_id": "com.xamarin.googleios.collectallthestars",
- "app_store_id": ""
+ "bundle_id": "com.xamarin.googleios.collectallthestars"
}
}
]
},
- "google_signin_service": {
- "status": 2
- },
"ads_service": {
- "status": 2,
- "test_banner_ad_unit_id": "ca-app-pub-3940256099942544/6300978111",
- "test_interstitial_ad_unit_id": "ca-app-pub-3940256099942544/1033173712"
+ "status": 2
}
}
}
],
- "client_info": [],
- "ARTIFACT_VERSION": "1"
-}
\ No newline at end of file
+ "configuration_version": "1"
+}
diff --git a/basement/buildtasks.tests/packages.config b/basement/buildtasks.tests/packages.config
new file mode 100644
index 000000000..c714ef3a2
--- /dev/null
+++ b/basement/buildtasks.tests/packages.config
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/basement/buildtasks/Basement-BuildTasks.csproj b/basement/buildtasks/Basement-BuildTasks.csproj
index 5e5a287f3..ba9baa278 100644
--- a/basement/buildtasks/Basement-BuildTasks.csproj
+++ b/basement/buildtasks/Basement-BuildTasks.csproj
@@ -20,11 +20,6 @@
prompt
4
false
-
-
-
-
-
full
@@ -46,6 +41,7 @@
+
diff --git a/basement/buildtasks/GoogleServicesJsonProcessor.cs b/basement/buildtasks/GoogleServicesJsonProcessor.cs
new file mode 100644
index 000000000..c27568ff2
--- /dev/null
+++ b/basement/buildtasks/GoogleServicesJsonProcessor.cs
@@ -0,0 +1,25 @@
+using System;
+using System.IO;
+using System.Runtime.Serialization.Json;
+
+namespace Xamarin.GooglePlayServices.Tasks
+{
+ public class GoogleServicesJsonProcessor
+ {
+ public GoogleServicesJsonProcessor ()
+ {
+ }
+
+ public static GoogleServices ProcessJson (string packageName, Stream json)
+ {
+ GoogleServices googleServices;
+
+ var serializer = new DataContractJsonSerializer (typeof (GoogleServices));
+ googleServices = serializer.ReadObject (json) as GoogleServices;
+ if (googleServices == null)
+ throw new NullReferenceException ();
+ return googleServices;
+ }
+ }
+}
+
diff --git a/basement/buildtasks/Models.cs b/basement/buildtasks/Models.cs
index 7a07d10f0..42dc1af1a 100644
--- a/basement/buildtasks/Models.cs
+++ b/basement/buildtasks/Models.cs
@@ -15,6 +15,10 @@ public class ProjectInfo
public string ProjectNumber { get; set; }
[DataMember (Name="name")]
public string Name { get; set; }
+ [DataMember (Name="firebase_url")]
+ public string FirebaseUrl { get; set; }
+ [DataMember (Name="storage_bucket")]
+ public string StorageBucket { get; set; }
}
[DataContract]
@@ -168,11 +172,19 @@ public class Client
[DataMember (Name="oauth_client")]
public List OauthClient { get; set; }
[DataMember (Name="api_key")]
- public List
@@ -41,7 +44,8 @@
+ BeforeTargets="$(ProcessGoogleServicesJsonBeforeTargets)"
+ AfterTargets="$(ProcessGoogleServicesJsonAfterTargets)">
+
diff --git a/basement/nuget/Xamarin.GooglePlayServices.Basement.nuspec b/basement/nuget/Xamarin.GooglePlayServices.Basement.nuspec
deleted file mode 100644
index 99a5845e7..000000000
--- a/basement/nuget/Xamarin.GooglePlayServices.Basement.nuspec
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
- Xamarin.GooglePlayServices.Basement
- Xamarin Google Play Services - Basement
- $version$
- Xamarin Inc.
- Xamarin Inc.
- true
- Xamarin.Android Bindings for Google Play Services - Basement - do not install directly
-
- Xamarin.Android Bindings for Google Play Services - Basement
-
- Instead of installing this package directly, install the specific package(s) you need:
- - Xamarin Google Play Services - Ads
- - Xamarin Google Play Services - Analytics
- - Xamarin Google Play Services - AppIndexing
- - Xamarin Google Play Services - AppInvite
- - Xamarin Google Play Services - Auth
- - Xamarin Google Play Services - Cast
- - Xamarin Google Play Services - Drive
- - Xamarin Google Play Services - Fitness
- - Xamarin Google Play Services - Games
- - Xamarin Google Play Services - GCM
- - Xamarin Google Play Services - Identity
- - Xamarin Google Play Services - Location
- - Xamarin Google Play Services - Maps
- - Xamarin Google Play Services - Measurement
- - Xamarin Google Play Services - Nearby
- - Xamarin Google Play Services - Panorama
- - Xamarin Google Play Services - Plus
- - Xamarin Google Play Services - SafetyNet
- - Xamarin Google Play Services - Vision
- - Xamarin Google Play Services - Wallet
- - Xamarin Google Play Services - Wearable
-
- NOTE: Auth may be moved into its own package in the future!
-
- Copyright 2013-2016
- https://github.com/xamarin/GooglePlayServicesComponents/
- https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Basement.png
-
-
-
-
-
-
-
-
-
-
diff --git a/basement/nuget/Xamarin.GooglePlayServices.Basement.template.nuspec b/basement/nuget/Xamarin.GooglePlayServices.Basement.template.nuspec
new file mode 100644
index 000000000..eba6659db
--- /dev/null
+++ b/basement/nuget/Xamarin.GooglePlayServices.Basement.template.nuspec
@@ -0,0 +1,30 @@
+
+
+
+ Xamarin.GooglePlayServices.Basement
+ Xamarin Google Play Services - Basement
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - Basement $aar-version$ - do not install directly
+
+ Xamarin.Android Bindings for Google Play Services - Basement $aar-version$
+
+ Instead of installing this package directly, install the specific package(s) you need.
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-basement_128x128.png
+
+
+
+
+
+
+
+
+
+
+
diff --git a/basement/source/Additions/Manifest.cs b/basement/source/Additions/Manifest.cs
new file mode 100644
index 000000000..e6f7fa751
--- /dev/null
+++ b/basement/source/Additions/Manifest.cs
@@ -0,0 +1,4 @@
+using System;
+using Android.App;
+
+[assembly:MetaData ("com.google.android.gms.version", Value = "@integer/google_play_services_version")]
diff --git a/basement/source/Additions/ResultCallbackImpl.cs b/basement/source/Additions/ResultCallbackImpl.cs
index dc1fe93a8..e2f7bb16c 100644
--- a/basement/source/Additions/ResultCallbackImpl.cs
+++ b/basement/source/Additions/ResultCallbackImpl.cs
@@ -50,127 +50,4 @@ public TaskAwaiter GetAwaiter ()
return taskCompletionSource.Task.GetAwaiter ();
}
}
-
- public static class IPendingResultExtensions
- {
- public static void SetResultCallback (this PendingResult pr, Action callback) where TResult : class, IResult
- {
- pr.SetResultCallback (new ResultCallback (callback));
- }
-
- public static Task AsAsync (this PendingResult pr) where TResult : class, IResult
- {
- var rc = new AwaitableResultCallback ();
-
- pr.SetResultCallback (rc);
-
- return rc.AwaitAsync ();
- }
-
- public static async Task AsAsync (this PendingResult pr)
- {
- var rc = new AwaitableResultCallback ();
-
- pr.SetResultCallback (rc);
-
- await rc.AwaitAsync ();
- }
-
- public static TaskAwaiter GetAwaiter(this PendingResult pr) where TResult : class, IResult
- {
- var rc = new AwaitableResultCallback ();
-
- pr.SetResultCallback (rc);
-
- return rc.GetAwaiter ();
- }
-
- public static TaskAwaiter GetAwaiter (this PendingResult pr)
- {
- var rc = new AwaitableResultCallback ();
-
- pr.SetResultCallback (rc);
-
- return rc.GetAwaiter ();
- }
- }
-
- public partial class GoogleApiClient
- {
- public partial class Builder
- {
- public Builder AddConnectionCallbacks (Action connectedCallback, Action connectionSuspendedCallback)
- {
- return AddConnectionCallbacks (new GoogleApiClientConnectionCallbacksImpl (connectedCallback, connectionSuspendedCallback));
- }
-
- public Builder AddConnectionCallbacks (Action connectedCallback)
- {
- return AddConnectionCallbacks (new GoogleApiClientConnectionCallbacksImpl (connectedCallback, null));
- }
-
- public Builder AddConnectionCallbacks (Action connectedCallback)
- {
- return AddConnectionCallbacks (new GoogleApiClientConnectionCallbacksImpl (h => connectedCallback (), null));
- }
-
- public Builder AddOnConnectionFailedListener (Action callback)
- {
- return AddOnConnectionFailedListener (new GoogleApiClientOnConnectionFailedListenerImpl (callback));
- }
-
- public Builder EnableAutoManage (Android.Support.V4.App.FragmentActivity fragmentActivity, int clientId, Action unresolvedConnectionFailedHandler)
- {
- return EnableAutoManage (fragmentActivity, clientId, new GoogleApiClientOnConnectionFailedListenerImpl (unresolvedConnectionFailedHandler));
- }
-
- public Builder EnableAutoManage (Android.Support.V4.App.FragmentActivity fragmentActivity, Action unresolvedConnectionFailedHandler)
- {
- return EnableAutoManage (fragmentActivity, new GoogleApiClientOnConnectionFailedListenerImpl (unresolvedConnectionFailedHandler));
- }
- }
- }
-
- internal class GoogleApiClientConnectionCallbacksImpl : Java.Lang.Object, GoogleApiClient.IConnectionCallbacks
- {
- public GoogleApiClientConnectionCallbacksImpl (Action onConnectedHandler, Action onConnectionSuspendedHandler)
- {
- OnConnectedHandler = onConnectedHandler;
- OnConnectionSuspendedHandler = onConnectionSuspendedHandler;
- }
-
- public Action OnConnectedHandler { get; private set; }
- public Action OnConnectionSuspendedHandler { get; private set; }
-
- public void OnConnected (Bundle bundle)
- {
- var h = OnConnectedHandler;
- if (h != null)
- h (bundle);
- }
-
- public void OnConnectionSuspended (int cause)
- {
- var h = OnConnectionSuspendedHandler;
- if (h != null)
- h (cause);
- }
- }
-
- internal class GoogleApiClientOnConnectionFailedListenerImpl : Java.Lang.Object, GoogleApiClient.IOnConnectionFailedListener
- {
- public GoogleApiClientOnConnectionFailedListenerImpl (Action handler)
- {
- OnConnectionFailedHandler = handler;
- }
-
- public Action OnConnectionFailedHandler { get; private set; }
-
- public void OnConnectionFailed (Android.Gms.Common.ConnectionResult result)
- {
- var h = OnConnectionFailedHandler;
- if (h != null)
- h (result);
- }
- }
}
diff --git a/basement/source/Basement.csproj b/basement/source/Basement.csproj
index e86137bb7..a0a8f9d99 100644
--- a/basement/source/Basement.csproj
+++ b/basement/source/Basement.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Library
GooglePlayServices.Basement
@@ -11,11 +11,12 @@
Assets
False
Xamarin.GooglePlayServices.Basement
- v4.1
- -XX:-UseSplitVerifier
+ v7.0
+
+ jar2xml
..\..\externals\docs\reference
8.0.30703
2.0
@@ -45,8 +46,23 @@
+
+ ..\..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -57,7 +73,7 @@
Properties\GpsConsts.cs
-
+
diff --git a/basement/source/Properties/AssemblyInfo.cs b/basement/source/Properties/AssemblyInfo.cs
index ffd7b5f84..273e2ba51 100644
--- a/basement/source/Properties/AssemblyInfo.cs
+++ b/basement/source/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.Basement")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("Xamarin")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
@@ -26,25 +26,23 @@
//[assembly: AssemblyDelaySign(false)]
//[assembly: AssemblyKeyFile("")]
-[assembly:MetaData ("com.google.android.gms.version", Value = "@integer/google_play_services_version")]
-
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS Basement";
public const string AarPath = "m2repository/com/google/android/gms/play-services-basement/" + __GpsConsts.Version + "/play-services-basement-" + __GpsConsts.Version + ".aar";
}
-
\ No newline at end of file
diff --git a/basement/source/Transforms/Metadata.generated.xml b/basement/source/Transforms/Metadata.generated.xml
index e46ca3c52..26c2f6238 100644
--- a/basement/source/Transforms/Metadata.generated.xml
+++ b/basement/source/Transforms/Metadata.generated.xml
@@ -1,645 +1,2 @@
- context
- context
- timeoutInMillis
- context
- shouldSkipGmsCoreVersionCheck
- advertisingId
- limitAdTrackingEnabled
- id
- accountName
- changeType
- eventIndex
- changeData
- that
- dest
- flags
- account
- accountName
- eventIndex
- dest
- flags
- events
- dest
- flags
- errValue
- msg
- throwable
- throwable
- oValue
- output
- flags
- msg
- intent
- errValue
- context
- token
- context
- eventIndex
- accountName
- ctx
- accountName
- context
- account
- scope
- context
- account
- scope
- extras
- context
- accountName
- scope
- context
- accountName
- scope
- extras
- context
- token
- account
- objValue
- output
- flags
- objValue
- output
- flags
- objValue
- output
- flags
- googleSignInOptions
- serverClientId
- scope
- scopes
- serverClientId
- serverClientId
- forceCodeForRefreshToken
- accountName
- hostedDomain
- SignInAccount
- status
- output
- flags
- nameValue
- consumerPkgName
- objValue
- output
- flags
- oValue
- dest
- flags
- dest
- flags
- dest
- flags
- nameValue
- playLoggerContext
- logEvent
- extensionProducer
- clientVisualElementsProducer
- testCodes
- other
- output
- flags
- selectedAccount
- allowableAccounts
- allowableAccountTypes
- alwaysPromptForAccount
- descriptionOverrideText
- addAccountAuthTokenType
- addAccountRequiredFeatures
- addAccountOptions
- statusCode
- statusCode
- pendingIntent
- statusCode
- pendingIntent
- message
- oValue
- activity
- requestCode
- output
- flags
- errorCode
- msg
- intent
- nameValue
- service
- nameValue
- context
- errorCode
- requestCode
- errorCode
- context
- context
- errorCode
- errorCode
- context
- requestCode
- errorCode
- context
- context
- context
- context
- errorCode
- nameValue
- clientBuilder
- clientKey
- prefix
- fd
- writer
- args
- status
- googleApiClient
- pendingResult
- resultToken
- status
- value
- objValue
- statusCode
- timeout
- unit
- signInMode
- prefix
- fd
- writer
- args
- prefix
- fd
- writer
- args
- api
- api
- listener
- listener
- listener
- listener
- lifecycleActivity
- listener
- listener
- context
- context
- connectedListener
- connectionFailedListener
- api
- api
- options
- api
- options
- scopes
- api
- scopes
- listener
- listener
- scope
- fragmentActivity
- clientId
- unresolvedConnectionFailedListener
- fragmentActivity
- unresolvedConnectionFailedListener
- accountName
- gravityForPopups
- handler
- viewForPopups
- connectionHint
- cause
- result
- time
- units
- callback
- callback
- time
- units
- transform
- result
- result
- result
- activity
- requestCode
- result
- result
- result
- result
- status
- status
- scopeUri
- oValue
- dest
- flags
- statusCode
- statusCode
- statusMessage
- statusCode
- statusMessage
- pendingIntent
- objValue
- activity
- requestCode
- output
- flags
- callbacks
- transform
- time
- units
- callback
- callback
- time
- units
- transform
- msg
- connectionHint
- result
- cause
- timeout
- unit
- prefix
- fd
- writer
- args
- api
- connectionHint
- cause
- connectionHint
- cause
- connectionHint
- cause
- timeout
- unit
- signInMode
- prefix
- fd
- writer
- args
- api
- api
- listener
- listener
- listener
- listener
- lifecycleActivity
- listener
- listener
- connectionHint
- cause
- timeout
- unit
- prefix
- fd
- writer
- args
- api
- connectionHint
- cause
- code
- data
- reply
- flags
- timeout
- unit
- prefix
- fd
- writer
- args
- api
- time
- units
- callback
- callback
- time
- units
- time
- units
- callback
- callback
- time
- units
- transform
- prefix
- fd
- writer
- args
- requestCode
- resultCode
- data
- dialogInterface
- savedInstanceState
- outState
- callbacks
- result
- transform
- dest
- flags
- binder
- dest
- flags
- serviceId
- dest
- flags
- account
- sessionId
- signInAccountHint
- dest
- flags
- oValue
- dest
- flags
- dest
- flags
- oValue
- dialog
- which
- prefix
- fd
- writer
- args
- result
- cause
- component
- binder
- component
- msg
- listener
- listener
- listener
- listener
- listener
- listener
- component
- binder
- component
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- aValue
- bValue
- objects
- versionCode
- nameSpace
- typeNum
- output
- flags
- output
- flags
- output
- flags
- output
- flags
- typeIn
- typeInArray
- typeOut
- typeOutArray
- outputFieldName
- safeParcelableFieldId
- concreteType
- converter
- output
- output
- flags
- rootClazz
- output
- flags
- output
- flags
- output
- flags
- output
- flags
- timeMillis
- eventType
- callingProcess
- callingService
- targetProcess
- targetService
- stackTrace
- connKey
- elapsedRealtime
- heapAlloc
- output
- flags
- timeMillis
- eventType
- wakelockName
- wakelockType
- callingPackages
- eventKey
- elapsedRealtime
- deviceState
- secondaryWakeLockName
- hostPackageName
- beginPowerPercentage
- timeout
- output
- flags
- hasMenu
- menuVisible
- retain
- isVisibleToUser
- intent
- intent
- requestCode
- hasMenu
- menuVisible
- retain
- isVisibleToUser
- intent
- intent
- requestCode
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- hasMenu
- menuVisible
- retain
- isVisibleToUser
- intent
- intent
- requestCode
- key
- defaultVal
- source
- key
- defaultVal
- source
- key
- defaultVal
- source
- key
- defaultVal
- source
- wrappedContext
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- objectValue
- collection
- objectValue
- objectValue
- runnable
- key
- defaultVal
- source
- key
- defaultVal
- source
- key
- defaultVal
- source
- key
- defaultVal
- source
- context
- objValue
- code
- data
- reply
- flags
- timeout
- value
- output
- oValue
- field1
- field2
- field1
- field2
- field1
- field2
- field1
- field2
- field
- field
- field
- field
- msg
- data
- msg
- data
- off
- len
- aValue
- bValue
- msg
- msg
- data
- offset
- length
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- eventTime
- eventUptime
- tag
- sourceExtensionBytes
- extras
- output
- flags
- versionCode
- packageName
- packageVersionCode
- logSource
- uploadAccountName
- loggingId
- logAndroidId
- logSourceName
- isAnonymous
- qosTier
- packageName
- packageVersionCode
- logSource
- logSourceName
- uploadAccountName
- loggingId
- isAnonymous
- qosTier
- packageName
- packageVersionCode
- logSource
- uploadAccountName
- loggingId
- logAndroidId
- objectValue
- output
- flags
- code
- data
- reply
- flags
- connectionHint
- result
- cause
- context
- context
- listener
- connectionResultCode
- rawAuthResolutionIntent
- dest
- flags
- dest
- flags
- dest
- flags
- resolveAccountRequest
- dest
- flags
- connectionResultStatusCode
- result
- resolveAccountResponse
- dest
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
diff --git a/basement/source/Transforms/Metadata.xml b/basement/source/Transforms/Metadata.xml
index 7838acd7d..f734dd32d 100644
--- a/basement/source/Transforms/Metadata.xml
+++ b/basement/source/Transforms/Metadata.xml
@@ -7,9 +7,9 @@
Android.Gms.Auth.Api.Credentials
- Android.Gms.Auth.Api.SignIn
Android.Gms.Auth.Api.SignIn.Internal
Android.Gms.Auth.FirstParty.Shared
+ Android.Gms.Actions
Android.Gms.Common
Android.Gms.Clearcut
Android.Gms.Common.Annotations
@@ -21,13 +21,17 @@
Android.Gms.Common.Server.Converter
Android.Gms.Common.Server.Response
Android.Gms.Common.Stats
+ Android.Gms.Common.Util
Android.Gms.Dynamic
Android.Gms.Dynamite.Descriptors.Flags
+ Android.Gms.Iid
Android.Gms.Security
Android.Gms.Ads.Identifier
+ Android.Gms.Location.Places
+ Firebase
Statuses
@@ -48,6 +52,13 @@
+
+ source
+ size
+ dest
+ flags
+
+
@@ -101,4 +112,6 @@
dest
flags
+
+
diff --git a/basement/source/packages.config b/basement/source/packages.config
index 59cde6e53..71e0c9953 100644
--- a/basement/source/packages.config
+++ b/basement/source/packages.config
@@ -1,4 +1,9 @@
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/build.cake b/build.cake
index 87d5fe9c8..b09b9568f 100644
--- a/build.cake
+++ b/build.cake
@@ -1,36 +1,118 @@
#tool nuget:?package=ILRepack&version=2.0.10
-#tool nuget:?package=XamarinComponent&version=1.1.0.29
+#tool nuget:?package=XamarinComponent
+#tool nuget:?package=Cake.MonoApiTools
-#addin nuget:?package=Cake.XCode&version=1.0.4.0
-#addin nuget:?package=Cake.Xamarin&version=1.3.0.1
-#addin nuget:?package=Cake.Xamarin.Build&version=1.0.11.0
-#addin nuget:?package=Cake.FileHelpers&version=1.0.3.2
+#addin nuget:?package=Cake.XCode
+#addin nuget:?package=Cake.Xamarin
+#addin nuget:?package=Cake.Xamarin.Build
+#addin nuget:?package=Cake.FileHelpers
+#addin nuget:?package=Cake.MonoApiTools
-var TARGET = Argument ("t", Argument ("target", "Default"));
+// To find new URL: https://dl-ssl.google.com/android/repository/addon.xml and search for google_play_services_*.zip
+var DOCS_URL = "https://dl-ssl.google.com/android/repository/google_play_services_9683000_r33.zip";
+var M2_REPOSITORY = "https://dl-ssl.google.com/android/repository/google_m2repository_r36.zip";
+
+// We grab the previous release's api-info.xml to use as a comparison for this build's generated info to make an api-diff
+var BASE_API_INFO_URL = "https://github.com/xamarin/GooglePlayServicesComponents/releases/download/29.0.0.2/api-info.xml";
+
+var PLAY_COMPONENT_VERSION = "32.961.0.0";
+var PLAY_NUGET_VERSION = "32.961.0";
+var PLAY_AAR_VERSION = "9.6.1";
+var VERSION_DESC = "9.6.1";
-var COMPONENT_VERSION = "29.0.0.2";
-var NUGET_VERSION = "29.0.0.2";
-var COMPONENT_WEAR_VERSION = "1.3.0.4";
-var NUGET_WEAR_VERSION = "1.3.0.4";
-var AAR_VERSION = "8.4.0";
-var WEARABLE_SUPPORT_VERSION = "1.3.0";
+var WEAR_COMPONENT_VERSION = "1.4.0.0";
+var WEAR_NUGET_VERSION = "1.4.0";
+var WEAR_AAR_VERSION = PLAY_AAR_VERSION;
+
+var WEARABLE_SUPPORT_VERSION = "1.4.0";
var WEARABLE_VERSION = "1.0.0";
-var M2_REPOSITORY = "https://dl-ssl.google.com/android/repository/google_m2repository_r24.zip";
-// https://dl-ssl.google.com/android/repository/addon.xml to find url
-var DOCS_URL = "https://dl-ssl.google.com/android/repository/google_play_services_8487000_r29.zip";
+var FIREBASE_COMPONENT_VERSION = PLAY_COMPONENT_VERSION;
+var FIREBASE_NUGET_VERSION = PLAY_NUGET_VERSION;
+var FIREBASE_AAR_VERSION = PLAY_AAR_VERSION;
+
+var TARGET = Argument ("t", Argument ("target", "Default"));
-var AAR_DIRS = new [] {
- "play-services", "play-services-all-wear", "play-services-base", "play-services-basement", "play-services-ads", "play-services-analytics", "play-services-appindexing",
- "play-services-appinvite", "play-services-appstate", "play-services-cast", "play-services-drive", "play-services-fitness", "play-services-games",
- "play-services-gcm", "play-services-identity", "play-services-location", "play-services-maps", "play-services-measurement", "play-services-nearby", "play-services-panorama",
- "play-services-plus", "play-services-safetynet", "play-services-vision", "play-services-wallet", "play-services-wearable", "play-services-auth"
+var AAR_INFOS = new [] {
+ new AarInfo ("play-services-auth", "android/gms/play-services-auth", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-auth-base", "android/gms/play-services-auth-base", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-awareness", "android/gms/play-services-awareness", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-base", "android/gms/play-services-base", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-basement", "android/gms/play-services-basement", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-ads", "android/gms/play-services-ads", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-ads-lite", "android/gms/play-services-ads-lite", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-analytics", "android/gms/play-services-analytics", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-analytics-impl", "android/gms/play-services-analytics-impl", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-appindexing", "android/gms/play-services-appindexing", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-appinvite", "android/gms/play-services-appinvite", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-cast", "android/gms/play-services-cast", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-cast-framework", "android/gms/play-services-cast-framework", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-clearcut", "android/gms/play-services-clearcut", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-drive", "android/gms/play-services-drive", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-fitness", "android/gms/play-services-fitness", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-games", "android/gms/play-services-games", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-gass", "android/gms/play-services-gass", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-gcm", "android/gms/play-services-gcm", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-identity", "android/gms/play-services-identity", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-iid", "android/gms/play-services-iid", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-instantapps", "android/gms/play-services-instantapps", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-location", "android/gms/play-services-location", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-maps", "android/gms/play-services-maps", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-nearby", "android/gms/play-services-nearby", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-panorama", "android/gms/play-services-panorama", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-places", "android/gms/play-services-places", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-plus", "android/gms/play-services-plus", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-safetynet", "android/gms/play-services-safetynet", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-tasks", "android/gms/play-services-tasks", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-tagmanager", "android/gms/play-services-tagmanager", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-tagmanager-api", "android/gms/play-services-tagmanager-api", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-vision", "android/gms/play-services-vision", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-wallet", "android/gms/play-services-wallet", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+ new AarInfo ("play-services-wearable", "android/gms/play-services-wearable", PLAY_AAR_VERSION, PLAY_NUGET_VERSION, PLAY_COMPONENT_VERSION),
+
+ new AarInfo ("firebase-ads", "firebase/firebase-ads", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-analytics", "firebase/firebase-analytics", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-analytics-impl", "firebase/firebase-analytics-impl", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-auth", "firebase/firebase-auth", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-auth-common", "firebase/firebase-auth-common", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-auth-module", "firebase/firebase-auth-module", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-common", "firebase/firebase-common", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-config", "firebase/firebase-config", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-core", "firebase/firebase-core", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-crash", "firebase/firebase-crash", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-database", "firebase/firebase-database", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-database-connection", "firebase/firebase-database-connection", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-iid", "firebase/firebase-iid", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-invites", "firebase/firebase-invites", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-messaging", "firebase/firebase-messaging", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-storage", "firebase/firebase-storage", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
+ new AarInfo ("firebase-storage-common", "firebase/firebase-storage-common", FIREBASE_AAR_VERSION, FIREBASE_NUGET_VERSION, FIREBASE_COMPONENT_VERSION),
};
+class AarInfo
+{
+ public AarInfo (string name, string path, string aarVersion, string nugetVersion, string componentVersion)
+ {
+ Name = name;
+ Path = path;
+ AarVersion = aarVersion;
+ NuGetVersion = nugetVersion;
+ ComponentVersion = componentVersion;
+ }
+
+ public string Name { get; set; }
+ public string Path { get; set; }
+ public string AarVersion { get; set; }
+ public string NuGetVersion { get; set; }
+ public string ComponentVersion { get; set; }
+}
+
var MONODROID_PATH = "/Library/Frameworks/Xamarin.Android.framework/Versions/Current/lib/mandroid/platforms/android-23/";
if (IsRunningOnWindows ())
MONODROID_PATH = new DirectoryPath (Environment.GetFolderPath (Environment.SpecialFolder.ProgramFilesX86)).Combine ("Reference Assemblies/Microsoft/Framework/MonoAndroid/v6.0/").FullPath;
+var MONO_PATH = "/Library/Frameworks/Mono.framework/Versions/Current";
+
var buildsOnWinMac = BuildPlatforms.Windows | BuildPlatforms.Mac;
var buildSpec = new BuildSpec {
@@ -42,28 +124,54 @@ var buildSpec = new BuildSpec {
new OutputFileCopy { FromFile = "./base/source/bin/Release/Xamarin.GooglePlayServices.Base.dll" },
new OutputFileCopy { FromFile = "./basement/source/bin/Release/Xamarin.GooglePlayServices.Basement.dll" },
new OutputFileCopy { FromFile = "./ads/source/bin/Release/Xamarin.GooglePlayServices.Ads.dll" },
+ new OutputFileCopy { FromFile = "./ads-lite/source/bin/Release/Xamarin.GooglePlayServices.Ads.Lite.dll" },
new OutputFileCopy { FromFile = "./analytics/source/bin/Release/Xamarin.GooglePlayServices.Analytics.dll" },
+ new OutputFileCopy { FromFile = "./analytics-impl/source/bin/Release/Xamarin.GooglePlayServices.Analytics.Impl.dll" },
new OutputFileCopy { FromFile = "./appinvite/source/bin/Release/Xamarin.GooglePlayServices.AppInvite.dll" },
new OutputFileCopy { FromFile = "./appindexing/source/bin/Release/Xamarin.GooglePlayServices.AppIndexing.dll" },
- new OutputFileCopy { FromFile = "./appstate/source/bin/Release/Xamarin.GooglePlayServices.AppState.dll" },
new OutputFileCopy { FromFile = "./auth/source/bin/Release/Xamarin.GooglePlayServices.Auth.dll" },
+ new OutputFileCopy { FromFile = "./auth-base/source/bin/Release/Xamarin.GooglePlayServices.Auth.Base.dll" },
+ new OutputFileCopy { FromFile = "./awareness/source/bin/Release/Xamarin.GooglePlayServices.Awareness.dll" },
new OutputFileCopy { FromFile = "./cast/source/bin/Release/Xamarin.GooglePlayServices.Cast.dll" },
+ new OutputFileCopy { FromFile = "./cast-framework/source/bin/Release/Xamarin.GooglePlayServices.Cast.Framework.dll" },
+ new OutputFileCopy { FromFile = "./clearcut/source/bin/Release/Xamarin.GooglePlayServices.Clearcut.dll" },
new OutputFileCopy { FromFile = "./drive/source/bin/Release/Xamarin.GooglePlayServices.Drive.dll" },
new OutputFileCopy { FromFile = "./fitness/source/bin/Release/Xamarin.GooglePlayServices.Fitness.dll" },
new OutputFileCopy { FromFile = "./games/source/bin/Release/Xamarin.GooglePlayServices.Games.dll" },
+ new OutputFileCopy { FromFile = "./gass/source/bin/Release/Xamarin.GooglePlayServices.Gass.dll" },
new OutputFileCopy { FromFile = "./gcm/source/bin/Release/Xamarin.GooglePlayServices.Gcm.dll" },
new OutputFileCopy { FromFile = "./identity/source/bin/Release/Xamarin.GooglePlayServices.Identity.dll" },
+ new OutputFileCopy { FromFile = "./iid/source/bin/Release/Xamarin.GooglePlayServices.Iid.dll" },
+ new OutputFileCopy { FromFile = "./instantapps/source/bin/Release/Xamarin.GooglePlayServices.InstantApps.dll" },
new OutputFileCopy { FromFile = "./location/source/bin/Release/Xamarin.GooglePlayServices.Location.dll" },
new OutputFileCopy { FromFile = "./maps/source/bin/Release/Xamarin.GooglePlayServices.Maps.dll" },
- new OutputFileCopy { FromFile = "./measurement/source/bin/Release/Xamarin.GooglePlayServices.Measurement.dll" },
new OutputFileCopy { FromFile = "./nearby/source/bin/Release/Xamarin.GooglePlayServices.Nearby.dll" },
new OutputFileCopy { FromFile = "./panorama/source/bin/Release/Xamarin.GooglePlayServices.Panorama.dll" },
+ new OutputFileCopy { FromFile = "./places/source/bin/Release/Xamarin.GooglePlayServices.Places.dll" },
new OutputFileCopy { FromFile = "./plus/source/bin/Release/Xamarin.GooglePlayServices.Plus.dll" },
new OutputFileCopy { FromFile = "./safetynet/source/bin/Release/Xamarin.GooglePlayServices.SafetyNet.dll" },
new OutputFileCopy { FromFile = "./vision/source/bin/Release/Xamarin.GooglePlayServices.Vision.dll" },
new OutputFileCopy { FromFile = "./wallet/source/bin/Release/Xamarin.GooglePlayServices.Wallet.dll" },
new OutputFileCopy { FromFile = "./wearable/source/bin/Release/Xamarin.GooglePlayServices.Wearable.dll" },
new OutputFileCopy { FromFile = "./support-wearable/source/bin/Release/Xamarin.Android.Wearable.dll" },
+ new OutputFileCopy { FromFile = "./tagmanager/source/bin/Release/Xamarin.GooglePlayServices.TagManager.dll" },
+ new OutputFileCopy { FromFile = "./tagmanager-api/source/bin/Release/Xamarin.GooglePlayServices.TagManager.Api.dll" },
+ new OutputFileCopy { FromFile = "./tasks/source/bin/Release/Xamarin.GooglePlayServices.Tasks.dll" },
+
+ new OutputFileCopy { FromFile = "./firebase-analytics/source/bin/Release/Xamarin.Firebase.Analytics.dll" },
+ new OutputFileCopy { FromFile = "./firebase-analytics-impl/source/bin/Release/Xamarin.Firebase.Analytics.Impl.dll" },
+ new OutputFileCopy { FromFile = "./firebase-auth/source/bin/Release/Xamarin.Firebase.Auth.dll" },
+ new OutputFileCopy { FromFile = "./firebase-auth-common/source/bin/Release/Xamarin.Firebase.Auth.Common.dll" },
+ new OutputFileCopy { FromFile = "./firebase-auth-module/source/bin/Release/Xamarin.Firebase.Auth.Module.dll" },
+ new OutputFileCopy { FromFile = "./firebase-common/source/bin/Release/Xamarin.Firebase.Common.dll" },
+ new OutputFileCopy { FromFile = "./firebase-config/source/bin/Release/Xamarin.Firebase.Config.dll" },
+ new OutputFileCopy { FromFile = "./firebase-crash/source/bin/Release/Xamarin.Firebase.Crash.dll" },
+ new OutputFileCopy { FromFile = "./firebase-database/source/bin/Release/Xamarin.Firebase.Database.dll" },
+ new OutputFileCopy { FromFile = "./firebase-database-connection/source/bin/Release/Xamarin.Firebase.Database.Connection.dll" },
+ new OutputFileCopy { FromFile = "./firebase-iid/source/bin/Release/Xamarin.Firebase.Iid.dll" },
+ new OutputFileCopy { FromFile = "./firebase-messaging/source/bin/Release/Xamarin.Firebase.Messaging.dll" },
+ new OutputFileCopy { FromFile = "./firebase-storage/source/bin/Release/Xamarin.Firebase.Storage.dll" },
+ new OutputFileCopy { FromFile = "./firebase-storage-common/source/bin/Release/Xamarin.Firebase.Storage.Common.dll" },
}
},
},
@@ -79,44 +187,85 @@ var buildSpec = new BuildSpec {
new DefaultSolutionBuilder { SolutionPath = "./games/samples/BeGenerous.sln", BuildsOn = buildsOnWinMac },
new DefaultSolutionBuilder { SolutionPath = "./gcm/samples/GCMSample.sln", BuildsOn = buildsOnWinMac },
new DefaultSolutionBuilder { SolutionPath = "./location/samples/LocationSample.sln", BuildsOn = buildsOnWinMac },
- new DefaultSolutionBuilder { SolutionPath = "./location/samples/PlacesAsync.sln", BuildsOn = buildsOnWinMac },
new DefaultSolutionBuilder { SolutionPath = "./maps/samples/MapsSample.sln", BuildsOn = buildsOnWinMac },
new DefaultSolutionBuilder { SolutionPath = "./nearby/samples/NearbySample.sln", BuildsOn = buildsOnWinMac },
new DefaultSolutionBuilder { SolutionPath = "./panorama/samples/PanoramaSample.sln", BuildsOn = buildsOnWinMac },
+ new DefaultSolutionBuilder { SolutionPath = "./places/samples/PlacesAsync.sln", BuildsOn = buildsOnWinMac },
new DefaultSolutionBuilder { SolutionPath = "./plus/samples/PlusSample.sln", BuildsOn = buildsOnWinMac },
new DefaultSolutionBuilder { SolutionPath = "./safetynet/samples/SafetyNetSample.sln", BuildsOn = buildsOnWinMac },
new DefaultSolutionBuilder { SolutionPath = "./vision/samples/VisionSample.sln", BuildsOn = buildsOnWinMac },
new DefaultSolutionBuilder { SolutionPath = "./wallet/samples/AndroidPayQuickstart.sln", BuildsOn = buildsOnWinMac },
new DefaultSolutionBuilder { SolutionPath = "./support-wearable/samples/MultiPageSample.sln", BuildsOn = buildsOnWinMac },
new DefaultSolutionBuilder { SolutionPath = "./support-wearable/samples/WatchFaceSample.sln", BuildsOn = buildsOnWinMac },
+
+ new DefaultSolutionBuilder { SolutionPath = "./firebase-ads/samples/FirebaseAdmobQuickstart.sln", BuildsOn = buildsOnWinMac },
+ new DefaultSolutionBuilder { SolutionPath = "./firebase-analytics/samples/FirebaseAnalyticsQuickstart.sln", BuildsOn = buildsOnWinMac },
+ new DefaultSolutionBuilder { SolutionPath = "./firebase-auth/samples/FirebaseAuthQuickstart.sln", BuildsOn = buildsOnWinMac },
+ new DefaultSolutionBuilder { SolutionPath = "./firebase-config/samples/FirebaseConfigQuickstart.sln", BuildsOn = buildsOnWinMac },
+ new DefaultSolutionBuilder { SolutionPath = "./firebase-crash/samples/FirebaseCrashReportingQuickstart.sln", BuildsOn = buildsOnWinMac },
+ new DefaultSolutionBuilder { SolutionPath = "./firebase-invites/samples/FirebaseInvitesQuickstart.sln", BuildsOn = buildsOnWinMac },
+ new DefaultSolutionBuilder { SolutionPath = "./firebase-messaging/samples/FirebaseMessagingQuickstart.sln", BuildsOn = buildsOnWinMac },
+ new DefaultSolutionBuilder { SolutionPath = "./firebase-storage/samples/FirebaseStorageQuickstart.sln", BuildsOn = buildsOnWinMac },
},
NuGets = new [] {
- new NuGetInfo { NuSpec = "./base/nuget/Xamarin.GooglePlayServices.Base.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./basement/nuget/Xamarin.GooglePlayServices.Basement.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./ads/nuget/Xamarin.GooglePlayServices.Ads.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./analytics/nuget/Xamarin.GooglePlayServices.Analytics.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./appindexing/nuget/Xamarin.GooglePlayServices.AppIndexing.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./appstate/nuget/Xamarin.GooglePlayServices.AppState.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./auth/nuget/Xamarin.GooglePlayServices.Auth.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./cast/nuget/Xamarin.GooglePlayServices.Cast.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./drive/nuget/Xamarin.GooglePlayServices.Drive.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./fitness/nuget/Xamarin.GooglePlayServices.Fitness.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./games/nuget/Xamarin.GooglePlayServices.Games.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./gcm/nuget/Xamarin.GooglePlayServices.Gcm.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./identity/nuget/Xamarin.GooglePlayServices.Identity.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./location/nuget/Xamarin.GooglePlayServices.Location.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./maps/nuget/Xamarin.GooglePlayServices.Maps.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./measurement/nuget/Xamarin.GooglePlayServices.Measurement.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./nearby/nuget/Xamarin.GooglePlayServices.Nearby.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./panorama/nuget/Xamarin.GooglePlayServices.Panorama.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./plus/nuget/Xamarin.GooglePlayServices.Plus.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./safetynet/nuget/Xamarin.GooglePlayServices.SafetyNet.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./vision/nuget/Xamarin.GooglePlayServices.Vision.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./wallet/nuget/Xamarin.GooglePlayServices.Wallet.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./wearable/nuget/Xamarin.GooglePlayServices.Wearable.nuspec", Version = NUGET_VERSION, RequireLicenseAcceptance = true },
- new NuGetInfo { NuSpec = "./support-wearable/nuget/Xamarin.Android.Wear.nuspec", Version = NUGET_WEAR_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./base/nuget/Xamarin.GooglePlayServices.Base.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./basement/nuget/Xamarin.GooglePlayServices.Basement.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./ads/nuget/Xamarin.GooglePlayServices.Ads.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./ads-lite/nuget/Xamarin.GooglePlayServices.Ads.Lite.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./analytics/nuget/Xamarin.GooglePlayServices.Analytics.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./analytics-impl/nuget/Xamarin.GooglePlayServices.Analytics.Impl.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./appindexing/nuget/Xamarin.GooglePlayServices.AppIndexing.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./appinvite/nuget/Xamarin.GooglePlayServices.AppInvite.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./auth/nuget/Xamarin.GooglePlayServices.Auth.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./auth-base/nuget/Xamarin.GooglePlayServices.Auth.Base.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./awareness/nuget/Xamarin.GooglePlayServices.Awareness.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./cast/nuget/Xamarin.GooglePlayServices.Cast.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./cast-framework/nuget/Xamarin.GooglePlayServices.Cast.Framework.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./clearcut/nuget/Xamarin.GooglePlayServices.Clearcut.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./drive/nuget/Xamarin.GooglePlayServices.Drive.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./fitness/nuget/Xamarin.GooglePlayServices.Fitness.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./games/nuget/Xamarin.GooglePlayServices.Games.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./gass/nuget/Xamarin.GooglePlayServices.Gass.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./gcm/nuget/Xamarin.GooglePlayServices.Gcm.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./identity/nuget/Xamarin.GooglePlayServices.Identity.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./iid/nuget/Xamarin.GooglePlayServices.Iid.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./instantapps/nuget/Xamarin.GooglePlayServices.InstantApps.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./location/nuget/Xamarin.GooglePlayServices.Location.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./maps/nuget/Xamarin.GooglePlayServices.Maps.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./nearby/nuget/Xamarin.GooglePlayServices.Nearby.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./panorama/nuget/Xamarin.GooglePlayServices.Panorama.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./places/nuget/Xamarin.GooglePlayServices.Places.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./plus/nuget/Xamarin.GooglePlayServices.Plus.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./safetynet/nuget/Xamarin.GooglePlayServices.SafetyNet.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./vision/nuget/Xamarin.GooglePlayServices.Vision.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./wallet/nuget/Xamarin.GooglePlayServices.Wallet.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./wearable/nuget/Xamarin.GooglePlayServices.Wearable.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./support-wearable/nuget/Xamarin.Android.Wear.nuspec", Version = WEAR_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./tagmanager/nuget/Xamarin.GooglePlayServices.TagManager.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./tagmanager-api/nuget/Xamarin.GooglePlayServices.TagManager.Api.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./tasks/nuget/Xamarin.GooglePlayServices.Tasks.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+
+ new NuGetInfo { NuSpec = "./firebase-ads/nuget/Xamarin.Firebase.Ads.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-analytics/nuget/Xamarin.Firebase.Analytics.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-analytics-impl/nuget/Xamarin.Firebase.Analytics.Impl.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-auth/nuget/Xamarin.Firebase.Auth.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-auth-common/nuget/Xamarin.Firebase.Auth.Common.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-auth-module/nuget/Xamarin.Firebase.Auth.Module.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-common/nuget/Xamarin.Firebase.Common.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-config/nuget/Xamarin.Firebase.Config.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-crash/nuget/Xamarin.Firebase.Crash.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-database/nuget/Xamarin.Firebase.Database.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-database-connection/nuget/Xamarin.Firebase.Database.Connection.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-iid/nuget/Xamarin.Firebase.Iid.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-invites/nuget/Xamarin.Firebase.Invites.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-messaging/nuget/Xamarin.Firebase.Messaging.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-storage/nuget/Xamarin.Firebase.Storage.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-storage-common/nuget/Xamarin.Firebase.Storage.Common.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+
+ // These are empty packages that depend on others
+ new NuGetInfo { NuSpec = "./firebase-core/nuget/Xamarin.Firebase.Core.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
+ new NuGetInfo { NuSpec = "./firebase-ads/nuget/Xamarin.Firebase.Ads.nuspec", Version = PLAY_NUGET_VERSION, RequireLicenseAcceptance = true },
},
Components = new [] {
@@ -138,6 +287,15 @@ var buildSpec = new BuildSpec {
new Component { ManifestDirectory = "./vision/component" },
new Component { ManifestDirectory = "./wallet/component" },
new Component { ManifestDirectory = "./support-wearable/component" },
+
+ new Component { ManifestDirectory = "./firebase-ads/component" },
+ new Component { ManifestDirectory = "./firebase-analytics/component" },
+ new Component { ManifestDirectory = "./firebase-auth/component" },
+ new Component { ManifestDirectory = "./firebase-config/component" },
+ new Component { ManifestDirectory = "./firebase-crash/component" },
+ new Component { ManifestDirectory = "./firebase-invites/component" },
+ new Component { ManifestDirectory = "./firebase-messaging/component" },
+ new Component { ManifestDirectory = "./firebase-storage/component" },
}
};
@@ -158,11 +316,12 @@ Task ("externals")
Unzip (path + "m2repository.zip", path);
// Copy the .aar's to a better location
- foreach (var aar in AAR_DIRS) {
+ foreach (var aar in AAR_INFOS) {
+
CopyFile (
- string.Format (path + "m2repository/com/google/android/gms/{0}/{1}/{2}-{3}.aar", aar, AAR_VERSION, aar, AAR_VERSION),
- string.Format (path + "{0}.aar", aar));
- Unzip (path + aar + ".aar", path + aar);
+ string.Format (path + "m2repository/com/google/{0}/{1}/{2}-{3}.aar", aar.Path, aar.AarVersion, aar.Name, aar.AarVersion),
+ string.Format (path + "{0}.aar", aar.Name));
+ Unzip (path + aar.Name + ".aar", path + aar.Name);
}
// Get Wearable stuff
@@ -178,17 +337,55 @@ Task ("externals")
CopyDirectory (path + "google-play-services/docs", path + "docs/");
DeleteDirectory (path + "google-play-services", true);
}
+
+ // Put the uitest.keystore in our artifacts for downstream jobs to use
+ EnsureDirectoryExists ("./output");
+ if (FileExists ("./uitest.keystore"))
+ CopyFile ("./uitest.keystore", "./output/uitest.keystore");
});
+Task ("diff")
+ .IsDependentOn ("merge")
+ .WithCriteria (!IsRunningOnWindows ())
+ .Does (() =>
+{
+ var SEARCH_DIRS = new FilePath [] {
+ MONODROID_PATH,
+ "/Library/Frameworks/Xamarin.Android.framework/Versions/Current/lib/xbuild-frameworks/MonoAndroid/v1.0/",
+ "./cast/source/bin/Release/",
+ "./wearable/source/bin/Release/"
+ };
+
+ MonoApiInfo ("./output/GooglePlayServices.Merged.dll",
+ "./output/GooglePlayServices.api-info.xml",
+ new MonoApiInfoToolSettings { SearchPaths = SEARCH_DIRS });
+
+ // Grab the last public release's api-info.xml to use as a base to compare and make an API diff
+ DownloadFile (BASE_API_INFO_URL, "./output/GooglePlayServices.api-info.previous.xml");
+
+ // Now diff against current release'd api info
+ // eg: mono mono-api-diff.exe ./gps.r26.xml ./gps.r27.xml > gps.diff.xml
+ MonoApiDiff ("./output/GooglePlayServices.api-info.previous.xml",
+ "./output/GooglePlayServices.api-info.xml",
+ "./output/GooglePlayServices.api-diff.xml");
+
+ // Now let's make a purty html file
+ // eg: mono mono-api-html.exe -c -x ./gps.previous.info.xml ./gps.current.info.xml > gps.diff.html
+ MonoApiHtml ("./output/GooglePlayServices.api-info.previous.xml",
+ "./output/GooglePlayServices.api-info.xml",
+ "./output/GooglePlayServices.api-diff.html");
+});
Task ("merge").IsDependentOn ("libs").Does (() =>
{
+ if (FileExists ("./output/GooglePlayServices.Merged.dll"))
+ DeleteFile ("./output/GooglePlayServices.Merged.dll");
+
// Clean up any existing old merge files
DeleteFiles ("./output/GooglePlayServices.Merged.dll");
var mergeDlls = GetFiles ("./output/*.dll");
- // Wait for ILRepack support in cake-0.5.2
ILRepack ("./output/GooglePlayServices.Merged.dll", mergeDlls.First(), mergeDlls.Skip(1), new ILRepackSettings {
CopyAttrs = true,
AllowMultiple = true,
@@ -197,47 +394,6 @@ Task ("merge").IsDependentOn ("libs").Does (() =>
MONODROID_PATH
},
});
-
- // Don't want to think about what the paths will do to this on windows right now
- if (!IsRunningOnWindows ()) {
- // Next run the mono-api-info.exe to generate xml api info we can later diff with
- var monoApiInfoExe = GetFiles ("../../**/mono-api-info.exe").FirstOrDefault ();
- var monoApiDiffExe = GetFiles ("../../**/mono-api-diff.exe").FirstOrDefault ();
- var monoApiHtmlExe = GetFiles ("../../**/mono-api-html.exe").FirstOrDefault ();
-
- //eg: mono mono-api-info.exe --search-directory=/Library/Frameworks/Xamarin.Android.framework/Libraries/mandroid/platforms/android-23 ./Xamarin.GooglePlayServices.r27.dll > gps.r27.xml
- using(var process = StartAndReturnProcess (monoApiInfoExe, new ProcessSettings {
- Arguments = "--search-directory=" + MONODROID_PATH + " ./output/GooglePlayServices.Merged.dll",
- RedirectStandardOutput = true,
- })) {
- process.WaitForExit();
- FileWriteLines ("./output/GooglePlayServices.api-info.xml", process.GetStandardOutput ().ToArray ());
- }
-
- // Grab the latest published api info from S3
- var latestReleasedApiInfoUrl = "http://xamarin-components-apiinfo.s3.amazonaws.com/GooglePlayServices.Android-Latest.xml";
- DownloadFile (latestReleasedApiInfoUrl, "./output/GooglePlayServices.api-info.previous.xml");
-
- // Now diff against current release'd api info
- // eg: mono mono-api-diff.exe ./gps.r26.xml ./gps.r27.xml > gps.diff.xml
- using(var process = StartAndReturnProcess (monoApiDiffExe, new ProcessSettings {
- Arguments = "./output/GooglePlayServices.api-info.previous.xml ./output/GooglePlayServices.api-info.xml",
- RedirectStandardOutput = true,
- })) {
- process.WaitForExit();
- FileWriteLines ("./output/GooglePlayServices.api-diff.xml", process.GetStandardOutput ().ToArray ());
- }
-
- // Now let's make a purty html file
- // eg: mono mono-api-html.exe -c -x ./gps.previous.info.xml ./gps.current.info.xml > gps.diff.html
- using(var process = StartAndReturnProcess (monoApiHtmlExe, new ProcessSettings {
- Arguments = "-c -x ./output/GooglePlayServices.api-info.previous.xml ./output/GooglePlayServices.api-info.xml",
- RedirectStandardOutput = true,
- })) {
- process.WaitForExit();
- FileWriteLines ("./output/GooglePlayServices.api-diff.html", process.GetStandardOutput ().ToArray ());
- }
- }
});
@@ -318,19 +474,45 @@ Task ("component-setup").Does (() =>
{
var yamls = GetFiles ("./**/component/component.template.yaml");
foreach (var yaml in yamls) {
+ var NUGET_VERSION = PLAY_NUGET_VERSION;
+ var COMPONENT_VERSION = PLAY_COMPONENT_VERSION;
+
+ if (yaml.FullPath.Contains ("firebase-")) {
+ NUGET_VERSION = FIREBASE_NUGET_VERSION;
+ COMPONENT_VERSION = FIREBASE_COMPONENT_VERSION;
+ }
+
var manifestTxt = FileReadText (yaml)
.Replace ("$nuget-version$", NUGET_VERSION)
.Replace ("$version$", COMPONENT_VERSION)
- .Replace ("$wear-version$", COMPONENT_WEAR_VERSION)
- .Replace ("$wear-nuget-version$", NUGET_WEAR_VERSION);
+ .Replace ("$wear-version$", WEAR_COMPONENT_VERSION)
+ .Replace ("$wear-nuget-version$", WEAR_NUGET_VERSION);
var newYaml = yaml.GetDirectory ().CombineWithFilePath ("component.yaml");
FileWriteText (newYaml, manifestTxt);
- }
+ }
+
+ if (DirectoryExists ("./output"))
+ DeleteFiles ("./output/*.xam");
});
Task ("component").IsDependentOn ("component-docs").IsDependentOn ("component-setup").IsDependentOn ("component-base");
+Task ("nuget-setup").Does (() =>
+{
+ var nuspecs = GetFiles ("./**/nuget/*.template.nuspec");
+ foreach (var nuspec in nuspecs) {
+ var nuspecTxt = FileReadText (nuspec)
+ .Replace ("$aar-version$", VERSION_DESC);
+
+ var newNuspec = nuspec.FullPath.Replace (".template.nuspec", ".nuspec");
+ FileWriteText (newNuspec, nuspecTxt);
+ }
+});
+
+Task ("nuget").IsDependentOn ("nuget-setup").IsDependentOn ("libs").IsDependentOn ("nuget-base");
+
+
SetupXamarinBuildTasks (buildSpec, Tasks, Task);
RunTarget (TARGET);
diff --git a/build.sh b/build.sh
index 20cfc6d04..bc44d9752 100644
--- a/build.sh
+++ b/build.sh
@@ -7,7 +7,7 @@
# Define directories.
SCRIPT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
TOOLS_DIR=$SCRIPT_DIR/tools
-NUGET_EXE=$TOOLS_DIR/nuget.exe
+export NUGET_EXE=$TOOLS_DIR/nuget.exe
CAKE_EXE=$TOOLS_DIR/Cake/Cake.exe
# Define default arguments.
@@ -52,13 +52,28 @@ fi
# Download NuGet if it does not exist.
if [ ! -f "$NUGET_EXE" ]; then
echo "Downloading NuGet..."
- curl -Lsfo "$NUGET_EXE" https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
+ curl -Lsfo "$NUGET_EXE" https://dist.nuget.org/win-x86-commandline/v3.4.4/NuGet.exe
if [ $? -ne 0 ]; then
echo "An error occured while downloading nuget.exe."
exit 1
fi
fi
+# BEGIN TEMP WORKAROUND
+# There is a bug in Mono's System.IO.Compression
+# This binary fixes the bug for now
+# Download System.IO.Compression if it does not exist.
+SYSIOCOMP=$TOOLS_DIR/System.IO.Compression.dll
+if [ ! -f "$SYSIOCOMP" ]; then
+ echo "Downloading System.IO.Compression.dll ..."
+ curl -Lsfo "$SYSIOCOMP" http://xamarin-components-binaries.s3.amazonaws.com/System.IO.Compression.dll
+ if [ $? -ne 0 ]; then
+ echo "An error occured while downloading System.IO.Compression.dll."
+ exit 1
+ fi
+fi
+# END TEMP WORKAROUND
+
# Restore tools from NuGet.
pushd "$TOOLS_DIR" >/dev/null
mono "$NUGET_EXE" install -ExcludeVersion
diff --git a/cast-framework/nuget/Xamarin.GooglePlayServices.Cast.Framework.template.nuspec b/cast-framework/nuget/Xamarin.GooglePlayServices.Cast.Framework.template.nuspec
new file mode 100644
index 000000000..5cd569cad
--- /dev/null
+++ b/cast-framework/nuget/Xamarin.GooglePlayServices.Cast.Framework.template.nuspec
@@ -0,0 +1,27 @@
+
+
+
+ Xamarin.GooglePlayServices.Cast.Framework
+ Xamarin Google Play Services - Cast Framework
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - Cast Framework $aar-version$
+
+ Xamarin.Android Bindings for Google Play Services - Cast Framework $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-cast-framework_128x128.png
+
+
+
+
+
+
+
+
+
+
diff --git a/cast-framework/source/Additions/AboutAdditions.txt b/cast-framework/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/cast-framework/source/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/cast-framework/source/Additions/Manifest.cs b/cast-framework/source/Additions/Manifest.cs
new file mode 100644
index 000000000..82c353d50
--- /dev/null
+++ b/cast-framework/source/Additions/Manifest.cs
@@ -0,0 +1,28 @@
+using System;
+using Android.App;
+using Android.Content;
+
+//
+//
+//
+//
+//
+//
+//
+//
+
+namespace Android.Gms.Cast.Framework.Media
+{
+ [BroadcastReceiver (Name="com.google.android.gms.cast.framework.media.MediaIntentReceiver")]
+ partial class MediaIntentReceiver { }
+
+ [Service(Name = "com.google.android.gms.cast.framework.media.MediaNotificationService")]
+ partial class MediaNotificationService { }
+}
+
+namespace Android.Gms.Cast.Framework
+{
+ [Service(Name = "com.google.android.gms.cast.framework.ReconnectionService")]
+ partial class MediaNotificationService { }
+}
diff --git a/cast-framework/source/Additions/PendingResultExtensions.cs b/cast-framework/source/Additions/PendingResultExtensions.cs
new file mode 100644
index 000000000..748660c1d
--- /dev/null
+++ b/cast-framework/source/Additions/PendingResultExtensions.cs
@@ -0,0 +1,172 @@
+using System;
+using Java.Interop;
+using System.Threading.Tasks;
+using Android.Gms.Common.Apis;
+using Android.Gms.Cast;
+
+namespace Android.Gms.Cast.Framework
+{
+ public partial class CastSession
+ {
+ public async Task SendMessageAsync (string @namespace, string message)
+ {
+ return (await SendMessage (@namespace, message)).JavaCast ();
+ }
+ }
+}
+
+namespace Android.Gms.Cast.Framework.Media
+{
+ public partial class RemoteMediaClient
+ {
+ public async Task LoadAsync (MediaInfo mediaInfo)
+ {
+ return (await Load (mediaInfo)).JavaCast ();
+ }
+ public async Task LoadAsync (MediaInfo mediaInfo, bool autoplay)
+ {
+ return (await Load (mediaInfo, autoplay)).JavaCast ();
+ }
+ public async Task LoadAsync (MediaInfo mediaInfo, bool autoplay, long playPosition)
+ {
+ return (await Load (mediaInfo, autoplay, playPosition)).JavaCast ();
+ }
+ public async Task LoadAsync (MediaInfo mediaInfo, bool autoplay, long playPosition, Org.Json.JSONObject customData)
+ {
+ return (await Load (mediaInfo, autoplay, playPosition, customData)).JavaCast ();
+ }
+ public async Task LoadAsync (MediaInfo mediaInfo, bool autoplay, long playPosition, long [] activeTrackIds, Org.Json.JSONObject customData)
+ {
+ return (await Load (mediaInfo, autoplay, playPosition, activeTrackIds, customData)).JavaCast ();
+ }
+ public async Task PauseAsync ()
+ {
+ return (await Pause ()).JavaCast ();
+ }
+ public async Task PauseAsync (Org.Json.JSONObject customData)
+ {
+ return (await Pause (customData)).JavaCast ();
+ }
+ public async Task PlayAsync ()
+ {
+ return (await Play ()).JavaCast ();
+ }
+ public async Task PlayAsync (Org.Json.JSONObject customData)
+ {
+ return (await Play (customData)).JavaCast ();
+ }
+ public async Task QueueAppendItemAsync (MediaQueueItem item, Org.Json.JSONObject customData)
+ {
+ return (await QueueAppendItem (item, customData)).JavaCast ();
+ }
+ public async Task QueueInsertAndPlayItemAsync (MediaQueueItem item, int insertBeforeItemId, Org.Json.JSONObject customData)
+ {
+ return (await QueueInsertAndPlayItem (item, insertBeforeItemId, customData)).JavaCast ();
+ }
+ public async Task QueueInsertAndPlayItemAsync (MediaQueueItem item, int insertBeforeItemId, long playPosition, Org.Json.JSONObject customData)
+ {
+ return (await QueueInsertAndPlayItem (item, insertBeforeItemId, playPosition, customData)).JavaCast ();
+ }
+ public async Task QueueInsertItemsAsync (MediaQueueItem [] itemsToInsert, int insertBeforeItemId, Org.Json.JSONObject customData)
+ {
+ return (await QueueInsertItems (itemsToInsert, insertBeforeItemId, customData)).JavaCast ();
+ }
+ public async Task QueueJumpToItemAsync (int itemId, Org.Json.JSONObject customData)
+ {
+ return (await QueueJumpToItem (itemId, customData)).JavaCast ();
+ }
+ public async Task QueueJumpToItemAsync (int itemId, long playPosition, Org.Json.JSONObject customData)
+ {
+ return (await QueueJumpToItem (itemId, playPosition, customData)).JavaCast ();
+ }
+ public async Task QueueLoadAsync (MediaQueueItem [] items, int startIndex, int repeatMode, Org.Json.JSONObject customData)
+ {
+ return (await QueueLoad (items, startIndex, repeatMode, customData)).JavaCast ();
+ }
+ public async Task QueueLoadAsync (MediaQueueItem [] items, int startIndex, int repeatMode, long playPosition, Org.Json.JSONObject customData)
+ {
+ return (await QueueLoad (items, startIndex, repeatMode, playPosition, customData)).JavaCast ();
+ }
+ public async Task QueueMoveItemToNewIndexAsync (int itemId, int newIndex, Org.Json.JSONObject customData)
+ {
+ return (await QueueMoveItemToNewIndex (itemId, newIndex, customData)).JavaCast ();
+ }
+ public async Task QueueNextAsync (Org.Json.JSONObject customData)
+ {
+ return (await QueueNext (customData)).JavaCast ();
+ }
+ public async Task QueuePrevAsync (Org.Json.JSONObject customData)
+ {
+ return (await QueuePrev (customData)).JavaCast ();
+ }
+ public async Task QueueRemoveItemAsync (int itemId, Org.Json.JSONObject customData)
+ {
+ return (await QueueRemoveItem (itemId, customData)).JavaCast ();
+ }
+ public async Task QueueRemoveItemsAsync (int [] itemIdsToRemove, Org.Json.JSONObject customData)
+ {
+ return (await QueueRemoveItems (itemIdsToRemove, customData)).JavaCast ();
+ }
+ public async Task QueueReorderItemsAsync (int [] itemIdsToReorder, int insertBeforeItemId, Org.Json.JSONObject customData)
+ {
+ return (await QueueReorderItems (itemIdsToReorder, insertBeforeItemId, customData)).JavaCast ();
+ }
+ public async Task QueueSetRepeatModeAsync (int repeatMode, Org.Json.JSONObject customData)
+ {
+ return (await QueueSetRepeatMode (repeatMode, customData)).JavaCast ();
+ }
+ public async Task QueueUpdateItemsAsync (MediaQueueItem [] itemsToUpdate, Org.Json.JSONObject customData)
+ {
+ return (await QueueUpdateItems (itemsToUpdate, customData)).JavaCast ();
+ }
+ public async Task RequestStatusAsync ()
+ {
+ return (await RequestStatus ()).JavaCast ();
+ }
+ public async Task SeekAsync (long position)
+ {
+ return (await Seek (position)).JavaCast ();
+ }
+ public async Task SeekAsync (long position, int resumeState)
+ {
+ return (await Seek (position, resumeState)).JavaCast ();
+ }
+ public async Task SeekAsync (long position, int resumeState, Org.Json.JSONObject customData)
+ {
+ return (await Seek (position, resumeState, customData)).JavaCast ();
+ }
+ public async Task SetActiveMediaTracksAsync (long [] trackIds)
+ {
+ return (await SetActiveMediaTracks (trackIds)).JavaCast ();
+ }
+ public async Task SetStreamMuteAsync (bool muted)
+ {
+ return (await SetStreamMute (muted)).JavaCast ();
+ }
+ public async Task SetStreamMuteAsync (bool muted, Org.Json.JSONObject customData)
+ {
+ return (await SetStreamMute (muted, customData)).JavaCast ();
+ }
+ public async Task SetStreamVolumeAsync (double volume)
+ {
+ return (await SetStreamVolume (volume)).JavaCast ();
+ }
+ public async Task SetStreamVolumeAsync (double volume, Org.Json.JSONObject customData)
+ {
+ return (await SetStreamVolume (volume, customData)).JavaCast ();
+ }
+ public async Task SetTextTrackStyleAsync (TextTrackStyle trackStyle)
+ {
+ return (await SetTextTrackStyle (trackStyle)).JavaCast ();
+ }
+ public async Task StopAsync ()
+ {
+ return (await Stop ()).JavaCast ();
+ }
+ public async Task StopAsync (Org.Json.JSONObject customData)
+ {
+ return (await Stop (customData)).JavaCast ();
+ }
+ }
+}
+
diff --git a/cast-framework/source/Cast.Framework.csproj b/cast-framework/source/Cast.Framework.csproj
new file mode 100644
index 000000000..c28667590
--- /dev/null
+++ b/cast-framework/source/Cast.Framework.csproj
@@ -0,0 +1,113 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 8.0.30703
+ 2.0
+ {159A8C21-0A5B-4D99-9E07-6466F8E98AF7}
+ Library
+ GooglePlayServices.Cast.Framework
+ Resources
+ Assets
+ False
+ Xamarin.GooglePlayServices.Cast.Framework
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+ ..\..\packages\Xamarin.Android.Support.v7.AppCompat.24.2.1\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.v7.MediaRouter.24.2.1\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+ False
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {C1A9C587-B744-44D2-AD42-14386D424667}
+ Cast
+
+
+
+
+
+ Jars\play-services-cast-framework.jar
+
+
+
diff --git a/cast-framework/source/Jars/AboutJars.txt b/cast-framework/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/cast-framework/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/cast-framework/source/Properties/AssemblyInfo.cs b/cast-framework/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..cead9a25c
--- /dev/null
+++ b/cast-framework/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.GooglePlayServices.Cast.Framework")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-cast-framework/" + __GpsConsts.Version + "/play-services-cast-framework-" + __GpsConsts.Version + ".aar";
+}
diff --git a/cast-framework/source/Transforms/EnumFields.xml b/cast-framework/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/cast-framework/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/cast-framework/source/Transforms/EnumMethods.xml b/cast-framework/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/cast-framework/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/cast-framework/source/Transforms/Metadata.generated.xml b/cast-framework/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/cast-framework/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/cast-framework/source/Transforms/Metadata.xml b/cast-framework/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..359fb6b55
--- /dev/null
+++ b/cast-framework/source/Transforms/Metadata.xml
@@ -0,0 +1,24 @@
+
+
+ Android.Gms.Cast.Framework
+ Android.Gms.Cast.Framework.Internal.FeatureHighlight
+ Android.Gms.Cast.Framework.Media
+ Android.Gms.Cast.Framework.Media.UIController
+ Android.Gms.Cast.Framework.Media.Widget
+
+
+
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
diff --git a/cast-framework/source/packages.config b/cast-framework/source/packages.config
new file mode 100644
index 000000000..71e0c9953
--- /dev/null
+++ b/cast-framework/source/packages.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/cast/component/component.template.yaml b/cast/component/component.template.yaml
index 297ddc400..b2068e821 100644
--- a/cast/component/component.template.yaml
+++ b/cast/component/component.template.yaml
@@ -4,15 +4,10 @@ id: googleplayservices-cast
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: Extend your app to the big screen with Google Cast
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-cast_128x128.png
- - icons/googleplayservices-cast_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Cast.dll
+ - ../../icons/play-services-cast_128x128.png
+ - ../../icons/play-services-cast_512x512.png
is_shell: true
packages:
android:
@@ -21,14 +16,16 @@ samples:
- name: "Casting Call"
path: ../../cast/samples/CastingCall.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Cast
+ - Base
+ - Basement
+ - Tasks
+ - Cast
installNuGets:
- project: CastingCall
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Cast
local-nuget-repo: ../../output/
no_build: true
diff --git a/cast/component/icons/googleplayservices-cast_128x128.png b/cast/component/icons/googleplayservices-cast_128x128.png
deleted file mode 100644
index 1b89e44b1..000000000
Binary files a/cast/component/icons/googleplayservices-cast_128x128.png and /dev/null differ
diff --git a/cast/component/icons/googleplayservices-cast_512x512.png b/cast/component/icons/googleplayservices-cast_512x512.png
deleted file mode 100644
index bb3941157..000000000
Binary files a/cast/component/icons/googleplayservices-cast_512x512.png and /dev/null differ
diff --git a/cast/nuget/Xamarin.GooglePlayServices.Cast.nuspec b/cast/nuget/Xamarin.GooglePlayServices.Cast.template.nuspec
similarity index 70%
rename from cast/nuget/Xamarin.GooglePlayServices.Cast.nuspec
rename to cast/nuget/Xamarin.GooglePlayServices.Cast.template.nuspec
index 384106b96..8915232d9 100644
--- a/cast/nuget/Xamarin.GooglePlayServices.Cast.nuspec
+++ b/cast/nuget/Xamarin.GooglePlayServices.Cast.template.nuspec
@@ -7,25 +7,23 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Cast
+ Xamarin.Android Bindings for Google Play Services - Cast $aar-version$
- Xamarin.Android Bindings for Google Play Services - Cast
+ Xamarin.Android Bindings for Google Play Services - Cast $aar-version$
The Google Cast SDK lets you extend your Android app to control a TV or sound system. It supports many media formats, protocols and codecs to ease integration. Continuous playback is enabled by autoplay and queuing APIs and Game Manager APIs make Cast enabled gaming a breeze.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-cast/
http://components.xamarin.com/license/googleplayservices-cast/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Cast.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-cast_128x128.png
-
-
-
+
-
+
diff --git a/cast/samples/CastingCall.UITests/CastingCall.UITests.csproj b/cast/samples/CastingCall.UITests/CastingCall.UITests.csproj
index 7e53b7931..f708f1f24 100644
--- a/cast/samples/CastingCall.UITests/CastingCall.UITests.csproj
+++ b/cast/samples/CastingCall.UITests/CastingCall.UITests.csproj
@@ -33,7 +33,7 @@
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
diff --git a/cast/samples/CastingCall.UITests/Tests.cs b/cast/samples/CastingCall.UITests/Tests.cs
index 46c90fba3..105fb66eb 100644
--- a/cast/samples/CastingCall.UITests/Tests.cs
+++ b/cast/samples/CastingCall.UITests/Tests.cs
@@ -42,7 +42,7 @@ public void CheckRoutes ()
app.Tap (q => q.Id ("mediaRouteButton"));
- app.WaitForElement (q => q.Id ("media_route_list"));
+ app.WaitForElement (q => q.Text("Cast to"));
app.Screenshot ("Routes");
}
diff --git a/cast/samples/CastingCall.UITests/packages.config b/cast/samples/CastingCall.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/cast/samples/CastingCall.UITests/packages.config
+++ b/cast/samples/CastingCall.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/cast/samples/CastingCall.sln b/cast/samples/CastingCall.sln
index 8967340bf..dfb69ba54 100644
--- a/cast/samples/CastingCall.sln
+++ b/cast/samples/CastingCall.sln
@@ -5,11 +5,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CastingCall.UITests", "Cast
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CastingCall", "CastingCall\CastingCall.csproj", "{3FB8C922-3AFB-47F6-BCD4-D5F34E375573}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.GooglePlayServices.Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.GooglePlayServices.Cast", "..\source\Cast.csproj", "{C1A9C587-B744-44D2-AD42-14386D424667}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cast", "..\source\Cast.csproj", "{C1A9C587-B744-44D2-AD42-14386D424667}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.GooglePlayServices.Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -37,5 +39,9 @@ Global
{C1A9C587-B744-44D2-AD42-14386D424667}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C1A9C587-B744-44D2-AD42-14386D424667}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C1A9C587-B744-44D2-AD42-14386D424667}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/cast/samples/CastingCall/CastingCall.csproj b/cast/samples/CastingCall/CastingCall.csproj
index 656980ef6..6c38ad19a 100644
--- a/cast/samples/CastingCall/CastingCall.csproj
+++ b/cast/samples/CastingCall/CastingCall.csproj
@@ -15,7 +15,8 @@
True
False
CastingCall
- v4.2
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
False
@@ -38,7 +38,6 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
True
@@ -46,14 +45,38 @@
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+
+
+ ..\packages\Xamarin.Android.Support.v7.Palette.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v7.Palette.dll
+
+
+ ..\packages\Xamarin.Android.Support.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll
+
+
+ ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll
- ..\packages\Xamarin.Android.Support.v7.AppCompat.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll
+ ..\packages\Xamarin.Android.Support.v7.AppCompat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll
- ..\packages\Xamarin.Android.Support.v7.MediaRouter.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll
+ ..\packages\Xamarin.Android.Support.v7.MediaRouter.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v7.MediaRouter.dll
@@ -94,6 +117,11 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
+
\ No newline at end of file
diff --git a/cast/samples/CastingCall/Properties/AssemblyInfo.cs b/cast/samples/CastingCall/Properties/AssemblyInfo.cs
index b264f7531..91e59c092 100644
--- a/cast/samples/CastingCall/Properties/AssemblyInfo.cs
+++ b/cast/samples/CastingCall/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("CastingCall")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/cast/samples/CastingCall/packages.config b/cast/samples/CastingCall/packages.config
index 4af8ff6d2..e9e558e42 100644
--- a/cast/samples/CastingCall/packages.config
+++ b/cast/samples/CastingCall/packages.config
@@ -1,6 +1,14 @@
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/cast/source/Cast.csproj b/cast/source/Cast.csproj
index fd20de13f..d75dea8bc 100644
--- a/cast/source/Cast.csproj
+++ b/cast/source/Cast.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{C1A9C587-B744-44D2-AD42-14386D424667}
Library
GooglePlayServices.Cast
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.Cast
- v4.2
+ v7.0
+ class-parse
..\..\externals\docs\reference
+
+ source
+ size
+ dest
+ flags
+
+
API
diff --git a/cast/source/packages.config b/cast/source/packages.config
index e352dcae3..c771ee60a 100644
--- a/cast/source/packages.config
+++ b/cast/source/packages.config
@@ -1,6 +1,13 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/clearcut/nuget/Xamarin.GooglePlayServices.Clearcut.template.nuspec b/clearcut/nuget/Xamarin.GooglePlayServices.Clearcut.template.nuspec
new file mode 100644
index 000000000..7eba0d8a2
--- /dev/null
+++ b/clearcut/nuget/Xamarin.GooglePlayServices.Clearcut.template.nuspec
@@ -0,0 +1,26 @@
+
+
+
+ Xamarin.GooglePlayServices.Clearcut
+ Xamarin Google Play Services - Clearcut
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - Clearcut $aar-version$
+
+ Xamarin.Android Bindings for Google Play Services - Clearcut $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-clearcut_128x128.png
+
+
+
+
+
+
+
+
+
diff --git a/clearcut/source/Additions/AboutAdditions.txt b/clearcut/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/clearcut/source/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/appstate/source/AppState.csproj b/clearcut/source/Clearcut.csproj
similarity index 77%
rename from appstate/source/AppState.csproj
rename to clearcut/source/Clearcut.csproj
index 0dee1d1bf..28f8188de 100644
--- a/appstate/source/AppState.csproj
+++ b/clearcut/source/Clearcut.csproj
@@ -3,21 +3,22 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
8.0.30703
2.0
- {8B84EE13-119C-41EB-98E8-E42D3ECD0DFD}
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}
Library
- GooglePlayServices.AppState
+ GooglePlayServices.Clearcut
Resources
Assets
False
- Xamarin.GooglePlayServices.AppState
- v4.1
+ Xamarin.GooglePlayServices.Clearcut
+ v7.0
+ class-parse
..\..\externals\docs\reference
+ ..\..\..\key-data\Xamarin-public.snk -->
true
@@ -45,12 +46,11 @@
- ..\..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
-
Properties\GpsConsts.cs
@@ -58,7 +58,6 @@
-
@@ -66,11 +65,6 @@
-
-
- Jars\play-services-appstate.jar
-
-
{3F6BAE25-ADEB-468C-8384-AD655623C341}
@@ -82,4 +76,9 @@
-
\ No newline at end of file
+
+
+ Jars\play-services-clearcut.jar
+
+
+
diff --git a/clearcut/source/Jars/AboutJars.txt b/clearcut/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/clearcut/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/clearcut/source/Properties/AssemblyInfo.cs b/clearcut/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..5c6c81ba9
--- /dev/null
+++ b/clearcut/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.GooglePlayServices.Clearcut")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-clearcut/" + __GpsConsts.Version + "/play-services-clearcut-" + __GpsConsts.Version + ".aar";
+}
diff --git a/clearcut/source/Transforms/EnumFields.xml b/clearcut/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/clearcut/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/clearcut/source/Transforms/EnumMethods.xml b/clearcut/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/clearcut/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/clearcut/source/Transforms/Metadata.generated.xml b/clearcut/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/clearcut/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/clearcut/source/Transforms/Metadata.xml b/clearcut/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..767a0f4d3
--- /dev/null
+++ b/clearcut/source/Transforms/Metadata.xml
@@ -0,0 +1,20 @@
+
+
+ Android.Gms.Clearcut
+
+
+
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
diff --git a/component/GettingStarted.FIREBASE-CONFIGURE.md b/component/GettingStarted.FIREBASE-CONFIGURE.md
new file mode 100644
index 000000000..3b232a984
--- /dev/null
+++ b/component/GettingStarted.FIREBASE-CONFIGURE.md
@@ -0,0 +1,22 @@
+Configuring Firebase
+--------------------
+
+1. Create a Firebase project in the [Firebase Console][1], if you don't already have one setup. If you have an existing Google project associated with your mobile app, you can use the **Import Google Project** option. Otherwise, use the **Create New Project** option.
+
+2. Click **Add Firebase to your Android app**.
+
+ a. Enter your app's ***Package Name***
+
+ b. Enter the SHA-1 Hash for your signing certificate. If you don't know how to find this, [check out this guide][2]
+
+3. Click **Add App** and download the ***google-services.json*** file generated for you.
+
+4. Add the ***google-services.json*** file to your Xamarin.Android project.
+
+5. Set the *Build Action* for your ***google-services.json*** file to ***GoogleServicesJson***.
+
+The build process will take the api keys and values from your ***google-services.json*** and translate them into the correct resource string key/value pairs in your app.
+
+
+
+
diff --git a/component/GettingStarted.FIREBASE-LEARNMORE.md b/component/GettingStarted.FIREBASE-LEARNMORE.md
new file mode 100644
index 000000000..647a71f30
--- /dev/null
+++ b/component/GettingStarted.FIREBASE-LEARNMORE.md
@@ -0,0 +1,5 @@
+
+Learn More
+==========
+
+You can learn more about the various Firebase SDKs & APIs by visiting the official [Firebase][5] documentation
diff --git a/component/GettingStarted.FIREBASE-SAMPLES.md b/component/GettingStarted.FIREBASE-SAMPLES.md
new file mode 100644
index 000000000..1b682e220
--- /dev/null
+++ b/component/GettingStarted.FIREBASE-SAMPLES.md
@@ -0,0 +1,5 @@
+Samples
+=======
+
+You can find a Sample Application within each Firebase component. The sample will demonstrate the necessary configuration and some basic API usages.
+
diff --git a/component/GettingStarted.LINKS.md b/component/GettingStarted.LINKS.md
index 18e14271a..548ab83c4 100644
--- a/component/GettingStarted.LINKS.md
+++ b/component/GettingStarted.LINKS.md
@@ -1,3 +1,5 @@
[1]: https://console.developers.google.com/ "Google Developers Console"
[2]: https://developer.xamarin.com/guides/android/deployment,_testing,_and_metrics/MD5_SHA1/ "Finding your SHA-1 Fingerprints"
[3]: https://developers.google.com/android/ "Google APIs for Android"
+[4]: https://firebase.google.com/console/ "Firebase Developer Console"
+[5]: https://firebase.google.com/ "Firebase"
\ No newline at end of file
diff --git a/component/License.md b/component/License.md
deleted file mode 100755
index f2eb68ef3..000000000
--- a/component/License.md
+++ /dev/null
@@ -1,18 +0,0 @@
-
-**Xamarin is not responsible for, nor does it grant any licenses to, third-party packages. Some packages may require or install dependencies which are governed by additional licenses.**
-
-This component depends on [Google Play Services Client Library](https://developers.google.com/android/guides/overview), which is subject to the terms of [Android Software Development Kit License Agreement](http://developer.android.com/sdk/terms.html)
-
-### Xamarin Component for Google Play Services Client Library
-The MIT License (MIT)
-
-Copyright (c) .NET Foundation Contributors
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-20160427
-
diff --git a/drive/component/component.template.yaml b/drive/component/component.template.yaml
index a39a6ed86..7d2bd5b56 100644
--- a/drive/component/component.template.yaml
+++ b/drive/component/component.template.yaml
@@ -4,15 +4,10 @@ id: googleplayservices-drive
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: "Read, write, and sync files stored in Google Drive from your mobile and web apps."
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-drive_128x128.png
- - icons/googleplayservices-drive_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Drive.dll
+ - ../../icons/play-services-drive_128x128.png
+ - ../../icons/play-services-drive_512x512.png
is_shell: true
packages:
android:
@@ -21,14 +16,16 @@ samples:
- name: "Drive Sample"
path: ../../drive/samples/DriveSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Drive
+ - Base
+ - Basement
+ - Tasks
+ - Drive
installNuGets:
- project: DriveSample
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Drive
local-nuget-repo: ../../output/
no_build: true
diff --git a/drive/component/icons/googleplayservices-drive_128x128.png b/drive/component/icons/googleplayservices-drive_128x128.png
deleted file mode 100644
index d1c6fea8f..000000000
Binary files a/drive/component/icons/googleplayservices-drive_128x128.png and /dev/null differ
diff --git a/drive/component/icons/googleplayservices-drive_512x512.png b/drive/component/icons/googleplayservices-drive_512x512.png
deleted file mode 100644
index 6f702287f..000000000
Binary files a/drive/component/icons/googleplayservices-drive_512x512.png and /dev/null differ
diff --git a/drive/nuget/Xamarin.GooglePlayServices.Drive.nuspec b/drive/nuget/Xamarin.GooglePlayServices.Drive.template.nuspec
similarity index 73%
rename from drive/nuget/Xamarin.GooglePlayServices.Drive.nuspec
rename to drive/nuget/Xamarin.GooglePlayServices.Drive.template.nuspec
index 5f825679b..7c1f7db4b 100644
--- a/drive/nuget/Xamarin.GooglePlayServices.Drive.nuspec
+++ b/drive/nuget/Xamarin.GooglePlayServices.Drive.template.nuspec
@@ -7,22 +7,22 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Drive
+ Xamarin.Android Bindings for Google Play Services - Drive $aar-version$
- Xamarin.Android Bindings for Google Play Services - Drive
+ Xamarin.Android Bindings for Google Play Services - Drive $aar-version$
With Drive now part of Android, integrating Drive services into your Android application has never been easier. With sync and offline support, we make it easier for you to focus on writing great apps. Simply read and write files and we’ll handle the details.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-drive/
http://components.xamarin.com/license/googleplayservices-drive/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Drive.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-drive_128x128.png
-
+
diff --git a/drive/samples/DriveSample.UITests/DriveSample.UITests.csproj b/drive/samples/DriveSample.UITests/DriveSample.UITests.csproj
index 7e2eb894d..690b2de6a 100644
--- a/drive/samples/DriveSample.UITests/DriveSample.UITests.csproj
+++ b/drive/samples/DriveSample.UITests/DriveSample.UITests.csproj
@@ -29,12 +29,12 @@
-
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
-
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
diff --git a/drive/samples/DriveSample.UITests/packages.config b/drive/samples/DriveSample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/drive/samples/DriveSample.UITests/packages.config
+++ b/drive/samples/DriveSample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/drive/samples/DriveSample.sln b/drive/samples/DriveSample.sln
index 249dafb46..b76292c1b 100644
--- a/drive/samples/DriveSample.sln
+++ b/drive/samples/DriveSample.sln
@@ -5,11 +5,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DriveSample", "DriveSample\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DriveSample.UITests", "DriveSample.UITests\DriveSample.UITests.csproj", "{929B6BAA-0E43-45BE-AC1A-3D9648887078}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.GooglePlayServices.Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.GooglePlayServices.Drive", "..\source\drive\Drive.csproj", "{8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.GooglePlayServices.Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drive", "..\source\Drive.csproj", "{8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -29,13 +31,17 @@ Global
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.Build.0 = Release|Any CPU
- {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Release|Any CPU.Build.0 = Release|Any CPU
{929B6BAA-0E43-45BE-AC1A-3D9648887078}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{929B6BAA-0E43-45BE-AC1A-3D9648887078}.Debug|Any CPU.Build.0 = Debug|Any CPU
{929B6BAA-0E43-45BE-AC1A-3D9648887078}.Release|Any CPU.ActiveCfg = Release|Any CPU
{929B6BAA-0E43-45BE-AC1A-3D9648887078}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/drive/samples/DriveSample/DriveSample.csproj b/drive/samples/DriveSample/DriveSample.csproj
index 0febcf89f..1bfe3f785 100644
--- a/drive/samples/DriveSample/DriveSample.csproj
+++ b/drive/samples/DriveSample/DriveSample.csproj
@@ -13,9 +13,10 @@
Resource
Resources\Resource.designer.cs
True
- True
+ false
DriveSample
- v5.1
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
full
@@ -37,15 +37,29 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -68,7 +82,7 @@
-
+
{3F6BAE25-ADEB-468C-8384-AD655623C341}
@@ -82,5 +96,9 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
\ No newline at end of file
diff --git a/drive/samples/DriveSample/Properties/AndroidManifest.xml b/drive/samples/DriveSample/Properties/AndroidManifest.xml
index b6efaf69f..43c4e212a 100644
--- a/drive/samples/DriveSample/Properties/AndroidManifest.xml
+++ b/drive/samples/DriveSample/Properties/AndroidManifest.xml
@@ -1,6 +1,6 @@
-
+
diff --git a/drive/samples/DriveSample/Properties/AssemblyInfo.cs b/drive/samples/DriveSample/Properties/AssemblyInfo.cs
index edaaaa211..28e22ff91 100644
--- a/drive/samples/DriveSample/Properties/AssemblyInfo.cs
+++ b/drive/samples/DriveSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("DriveSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/drive/samples/DriveSample/packages.config b/drive/samples/DriveSample/packages.config
index 01c2aac28..71e0c9953 100644
--- a/drive/samples/DriveSample/packages.config
+++ b/drive/samples/DriveSample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/drive/source/Drive.csproj b/drive/source/Drive.csproj
index 62540611c..bb180080b 100644
--- a/drive/source/Drive.csproj
+++ b/drive/source/Drive.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}
Library
GooglePlayServices.Drive
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.Drive
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
+ source
+ size
+ dest
+ flags
+
diff --git a/drive/source/packages.config b/drive/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/drive/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/firebase-ads/component/Details.template.md b/firebase-ads/component/Details.template.md
new file mode 100644
index 000000000..e4af98987
--- /dev/null
+++ b/firebase-ads/component/Details.template.md
@@ -0,0 +1,6 @@
+Firebase - Ads
+==========================
+
+AdMob by Google is an easy way to monetize mobile apps with targeted, in-app advertising.
+
+AdMob by Google is a mobile advertising platform that you can use to generate revenue from your app. Using AdMob with Firebase Analytics provides you with additional app usage data and analytics capabilities. Firebase integrates with AdMob without requiring changes to your existing AdMob configuration.
diff --git a/firebase-ads/component/GettingStarted.template.md b/firebase-ads/component/GettingStarted.template.md
new file mode 100644
index 000000000..123eb4c37
--- /dev/null
+++ b/firebase-ads/component/GettingStarted.template.md
@@ -0,0 +1,63 @@
+Get Started with Firebase Ads for Android
+
+AdMob by Google is an easy way to monetize mobile apps with targeted, in-app advertising.
+
+
+{FIREBASE-CONFIGURE}
+
+
+### Add your Ad Unit ID's to your app's resources
+
+An ad unit ID is a unique identifier given to the places in your app where ads are displayed. Create an ad unit for each activity your app will perform. If you have an app with two activities, for example, each displaying a banner, you need two ad units, each with its own ID. AdMob ad unit IDs have the form `ca-app-pub-XXXXXXXXXXXXXXXX/NNNNNNNNNN`.
+
+For your new app to display an ad, it needs to include an ad unit ID. Open your app's string resource file, which is found at `YourAppSource/Resources/values/strings.xml`.
+
+```xml
+
+
+ ca-app-pub-3940256099942544/6300978111
+
+```
+
+### Place an AdView in your Layout
+
+In your Layout xml file, add an AdView:
+
+```xml
+
+```
+
+You will need to add the `ads` namespace as well:
+
+```xml
+
+```
+
+
+### Initialize the Google Mobile Ads SDK
+
+To initialize the Google Mobile Ads SDK at app launch, call MobileAds.Initialize() in the onCreate() method of the MainActivity class.
+
+Open your MainActivity.java file. It's in the BannerExample/app/src/main/java/ folder, though the exact subdirectory path varies based on the domain you used when creating your project above. Once it's open in the editor, look for the onCreate() method in the MainActivity class:
+
+
+
+
+{FIREBASE-SAMPLES}
+
+
+
+{FIREBASE-LEARNMORE}
+
+
+
+{LINKS}
diff --git a/firebase-ads/component/component.template.yaml b/firebase-ads/component/component.template.yaml
new file mode 100644
index 000000000..2b30ffc20
--- /dev/null
+++ b/firebase-ads/component/component.template.yaml
@@ -0,0 +1,40 @@
+version: $version$
+name: Firebase - Ads
+id: firebase-ads
+publisher: Xamarin Inc.
+publisher-url: http://xamarin.com
+summary: AdMob by Google is an easy way to monetize mobile apps with targeted, in-app advertising.
+license: ../../License.md
+icons:
+ - ../../icons/firebase-ads_128x128.png
+ - ../../icons/firebase-ads_512x512.png
+is_shell: true
+packages:
+ android:
+ - Xamarin.Firebase.Ads, Version=$nuget-version$
+samples:
+ - name: "Firebase AdMob Quickstart"
+ path: ../../firebase-ads/samples/FirebaseAdmobQuickstart.sln
+ removeProjects:
+ - Base
+ - Basement
+ - Basement-BuildTasks
+ - Clearcut
+ - Gass
+ - Tasks
+ - Ads
+ - Ads.Lite
+ installNuGets:
+ - project: FirebaseAdmobQuickstart
+ packages:
+ - Xamarin.GooglePlayServices.Base
+ - Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Clearcut
+ - Xamarin.GooglePlayServices.Gass
+ - Xamarin.GooglePlayServices.Tasks
+ - Xamarin.GooglePlayServices.Ads
+ - Xamarin.GooglePlayServices.Ads.Lite
+ removeNodes:
+ - "//xNS:Import[contains (@Project, 'Xamarin.GooglePlayServices.Basement.targets')]"
+local-nuget-repo: ../../output/
+no_build: true
diff --git a/firebase-ads/nuget/Xamarin.Firebase.Ads.template.nuspec b/firebase-ads/nuget/Xamarin.Firebase.Ads.template.nuspec
new file mode 100644
index 000000000..cba9253cf
--- /dev/null
+++ b/firebase-ads/nuget/Xamarin.Firebase.Ads.template.nuspec
@@ -0,0 +1,27 @@
+
+
+
+ Xamarin.Firebase.Ads
+ Xamarin Firebase - Ads
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Firebase - Ads $aar-version$
+
+ Xamarin.Android Bindings for Firebase - Ads $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-ads_128x128.png
+
+
+
+
+
+
+
+
+
+
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/FirebaseAdmobQuickstart.UITests.csproj b/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/FirebaseAdmobQuickstart.UITests.csproj
new file mode 100644
index 000000000..09d310e6c
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/FirebaseAdmobQuickstart.UITests.csproj
@@ -0,0 +1,51 @@
+
+
+
+ Debug
+ AnyCPU
+ {BF596B95-1220-43D0-B507-BEC78426338D}
+ Library
+ FirebaseAdmobQuickstart.UITests
+ FirebaseAdmobQuickstart.UITests
+ v4.5
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+
+
+ true
+ bin\Release
+ prompt
+ 4
+
+
+
+
+ ..\packages\NUnit.2.6.3\lib\nunit.framework.dll
+
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
+
+
+
+
+
+
+
+
+
+ {45F9F3D0-BBC1-4A43-9D67-40F40AD17A41}
+ FirebaseAdmobQuickstart
+ False
+ False
+
+
+
+
\ No newline at end of file
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/Tests.cs b/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/Tests.cs
new file mode 100644
index 000000000..fb472f7ec
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/Tests.cs
@@ -0,0 +1,60 @@
+using System;
+using System.IO;
+using System.Linq;
+using NUnit.Framework;
+using Xamarin.UITest;
+using Xamarin.UITest.Android;
+using Xamarin.UITest.Queries;
+
+namespace FirebaseAdmobQuickstart.UITests
+{
+ [TestFixture]
+ public class Tests
+ {
+ AndroidApp app;
+
+ [SetUp]
+ public void BeforeEachTest()
+ {
+ app = ConfigureApp
+ .Android
+ .ApkFile("app.apk")
+ .PreferIdeSettings()
+ .StartApp();
+ }
+
+ //[Test]
+ public void Repl()
+ {
+ app.Repl();
+ }
+
+ [Test]
+ public void AppLaunches()
+ {
+ app.Screenshot("Launch");
+ }
+
+ [Test]
+ public void ShowBannerAd()
+ {
+ app.Screenshot("Launch");
+
+ app.WaitForElement(t => t.Class("AdView"));
+
+ app.Screenshot("Banner Ad");
+ }
+
+ [Test]
+ public void InterstitialAd()
+ {
+ app.Screenshot("Launch");
+
+ app.Tap(q => q.Id("load_interstitial_button"));
+
+ app.WaitForElement(q => q.Marked("Interstitial close button"));
+
+ app.Screenshot("Interstitial Ad");
+ }
+ }
+}
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/packages.config b/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/packages.config
new file mode 100644
index 000000000..bf72f65b8
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart.UITests/packages.config
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart.sln b/firebase-ads/samples/FirebaseAdmobQuickstart.sln
new file mode 100644
index 000000000..4afa36a28
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart.sln
@@ -0,0 +1,71 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FirebaseAdmobQuickstart", "FirebaseAdmobQuickstart\FirebaseAdmobQuickstart.csproj", "{45F9F3D0-BBC1-4A43-9D67-40F40AD17A41}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ads.Lite", "..\..\ads-lite\source\Ads.Lite.csproj", "{ECB1F68B-B588-4F3B-9A86-510CF4AAA784}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ads", "..\..\ads\source\Ads.csproj", "{CC4E534D-4992-4FBB-9528-A071EDDEA7E7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Clearcut", "..\..\clearcut\source\Clearcut.csproj", "{44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gass", "..\..\gass\source\Gass.csproj", "{D705BF83-81FD-4CD9-AF3B-09C50FF42C83}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement-BuildTasks", "..\..\basement\buildtasks\Basement-BuildTasks.csproj", "{21D99A15-AB98-4691-A45B-D236B2A91DEB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FirebaseAdmobQuickstart.UITests", "FirebaseAdmobQuickstart.UITests\FirebaseAdmobQuickstart.UITests.csproj", "{BF596B95-1220-43D0-B507-BEC78426338D}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {45F9F3D0-BBC1-4A43-9D67-40F40AD17A41}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {45F9F3D0-BBC1-4A43-9D67-40F40AD17A41}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {45F9F3D0-BBC1-4A43-9D67-40F40AD17A41}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {45F9F3D0-BBC1-4A43-9D67-40F40AD17A41}.Release|Any CPU.Build.0 = Release|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CC4E534D-4992-4FBB-9528-A071EDDEA7E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CC4E534D-4992-4FBB-9528-A071EDDEA7E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CC4E534D-4992-4FBB-9528-A071EDDEA7E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CC4E534D-4992-4FBB-9528-A071EDDEA7E7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.Build.0 = Release|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BF596B95-1220-43D0-B507-BEC78426338D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BF596B95-1220-43D0-B507-BEC78426338D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BF596B95-1220-43D0-B507-BEC78426338D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BF596B95-1220-43D0-B507-BEC78426338D}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/location/samples/PlacesAsync/Assets/AboutAssets.txt b/firebase-ads/samples/FirebaseAdmobQuickstart/Assets/AboutAssets.txt
similarity index 100%
rename from location/samples/PlacesAsync/Assets/AboutAssets.txt
rename to firebase-ads/samples/FirebaseAdmobQuickstart/Assets/AboutAssets.txt
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/FirebaseAdmobQuickstart.csproj b/firebase-ads/samples/FirebaseAdmobQuickstart/FirebaseAdmobQuickstart.csproj
new file mode 100644
index 000000000..244f81e90
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/FirebaseAdmobQuickstart.csproj
@@ -0,0 +1,145 @@
+
+
+
+ Debug
+ AnyCPU
+ {45F9F3D0-BBC1-4A43-9D67-40F40AD17A41}
+ {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Library
+ Admob
+ Admob
+ v7.0
+ True
+ Resources\Resource.designer.cs
+ Resource
+ Properties\AndroidManifest.xml
+ Resources
+ Assets
+ true
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ false
+ None
+ arm64-v8a;armeabi;armeabi-v7a;x86;x86_64
+ false
+
+
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
+
+ ..\packages\Xamarin.Android.Support.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll
+
+
+ ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll
+
+
+ ..\packages\Xamarin.Android.Support.v7.AppCompat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll
+
+
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {CC4E534D-4992-4FBB-9528-A071EDDEA7E7}
+ Ads
+
+
+ {ECB1F68B-B588-4F3B-9A86-510CF4AAA784}
+ Ads.Lite
+
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {44CF1968-FCDA-4141-AE78-1EFD12DDF7D6}
+ Clearcut
+
+
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}
+ Gass
+
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/MainActivity.cs b/firebase-ads/samples/FirebaseAdmobQuickstart/MainActivity.cs
new file mode 100644
index 000000000..943e6dfab
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/MainActivity.cs
@@ -0,0 +1,192 @@
+using System;
+using Android.App;
+using Android.Content;
+using Android.OS;
+using Android.Widget;
+using Android.Support.V4.App;
+using Android.Support.V7.App;
+// [SNIPPET load_banner_ad]
+// Load an ad into the AdView.
+// [START load_banner_ad]
+// [START_EXCLUDE] with InterstitialAd
+using Android.Gms.Ads;
+// [END_EXCLUDE]
+
+namespace Admob
+{
+ [Activity(Label = "Admob", MainLauncher = true), IntentFilter(new[] { Intent.ActionView }, Categories = new[] { Intent.ActionMain, Intent.CategoryLauncher })]
+ [MetaData("android.support.PARENT_ACTIVITY", Value = ".MainActivity")]
+ public class MainActivity : AppCompatActivity //FragmentActivity, IAppCompatCallback, Android.Support.V4.App.TaskStackBuilder.ISupportParentable, Android.Support.V7.App.ActionBarDrawerToggle.IDelegateProvider
+ {
+ private AdView mAdView;
+ // [START_EXCLUDE]
+ private InterstitialAd mInterstitialAd;
+ private Button mLoadInterstitialButton;
+ // [END_EXCLUDE]
+
+ protected override void OnCreate(Bundle savedInstanceState)
+ {
+ base.OnCreate(savedInstanceState);
+ SetContentView(Resource.Layout.activity_main);
+
+ mAdView = (AdView)FindViewById(Resource.Id.adView);
+ AdRequest adRequest = new AdRequest.Builder().Build();
+ mAdView.LoadAd(adRequest);
+ // [END load_banner_ad]
+
+ // AdMob ad unit IDs are not currently stored inside the google-services.json file.
+ // Developers using AdMob can store them as custom values in a string resource file or
+ // simply use constants. Note that the ad units used here are configured to return only test
+ // ads, and should not be used outside this sample.
+
+ // [START instantiate_interstitial_ad]
+ // Create an InterstitialAd object. This same object can be re-used whenever you want to
+ // show an interstitial.
+ mInterstitialAd = new InterstitialAd(this);
+ mInterstitialAd.AdUnitId = GetString(Resource.String.interstitial_ad_unit_id);
+ // [END instantiate_interstitial_ad]
+
+ // [START create_interstitial_ad_listener]
+ var adListener = new CustomAdlistener();
+ adListener.AdClosed += () =>
+ {
+ RequestNewInterstitial();
+ BeginSecondActivity();
+ };
+
+ mInterstitialAd.AdListener = adListener;
+ // [END create_interstitial_ad_listener]
+
+ // [START display_interstitial_ad]
+ mLoadInterstitialButton = (Button)FindViewById(Resource.Id.load_interstitial_button);
+ mLoadInterstitialButton.Click += delegate
+ {
+ if (mInterstitialAd.IsLoaded)
+ {
+ mInterstitialAd.Show();
+ }
+ else {
+ BeginSecondActivity();
+ }
+ };
+ // [END display_interstitial_ad]
+ }
+
+ /**
+ * Load a new interstitial ad asynchronously.
+ */
+ // [START request_new_interstitial]
+ private void RequestNewInterstitial()
+ {
+ AdRequest adRequest = new AdRequest.Builder().Build();
+ mInterstitialAd.LoadAd(adRequest);
+ }
+ // [END request_new_interstitial]
+
+ private void BeginSecondActivity()
+ {
+ Intent intent = new Intent(this, typeof(SecondActivity));
+ StartActivity(intent);
+ }
+
+ // [START add_lifecycle_methods]
+ /** Called when leaving the activity */
+ protected override void OnPause()
+ {
+ if (mAdView != null)
+ {
+ mAdView.Pause();
+ }
+ base.OnPause();
+ }
+
+ /** Called when returning to the activity */
+ protected override void OnResume()
+ {
+ base.OnResume();
+ if (mAdView != null)
+ {
+ mAdView.Resume();
+ }
+ if (!mInterstitialAd.IsLoaded)
+ {
+ RequestNewInterstitial();
+ }
+ }
+
+ /** Called before the activity is destroyed */
+ protected override void OnDestroy()
+ {
+ if (mAdView != null)
+ {
+ mAdView.Destroy();
+ }
+ base.OnDestroy();
+ }
+ // [END add_lifecycle_methods]
+
+
+ AdView GetAdView()
+ {
+ return mAdView;
+ }
+
+ //public Intent SupportParentActivityIntent
+ //{
+ // get
+ // {
+ // throw new NotImplementedException();
+ // }
+ //}
+
+ //public Android.Support.V7.App.ActionBarDrawerToggle.IDelegate DrawerToggleDelegate
+ //{
+ // get
+ // {
+ // throw new NotImplementedException();
+ // }
+ //}
+
+ //public void OnSupportActionModeFinished(Android.Support.V7.View.ActionMode mode)
+ //{
+ // throw new NotImplementedException();
+ //}
+
+ //public void OnSupportActionModeStarted(Android.Support.V7.View.ActionMode mode)
+ //{
+ // throw new NotImplementedException();
+ //}
+
+ //public Android.Support.V7.View.ActionMode OnWindowStartingSupportActionMode(Android.Support.V7.View.ActionMode.ICallback callback)
+ //{
+ // throw new NotImplementedException();
+ //}
+
+ }
+
+ class CustomAdlistener : AdListener
+ {
+ // Declare the delegate (if using non-generic pattern).
+ public delegate void AdLoadedEvent();
+ public delegate void AdClosedEvent();
+ public delegate void AdOpenedEvent();
+ // Declare the event.
+ public event AdLoadedEvent AdLoaded;
+ public event AdClosedEvent AdClosed;
+ public event AdOpenedEvent AdOpened;
+ public override void OnAdLoaded()
+ {
+ if (AdLoaded != null) this.AdLoaded();
+ base.OnAdLoaded();
+ }
+ public override void OnAdClosed()
+ {
+
+ }
+ public override void OnAdOpened()
+ {
+ if (AdOpened != null) this.AdOpened();
+ base.OnAdOpened();
+ }
+ }
+}
\ No newline at end of file
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Properties/AndroidManifest.xml b/firebase-ads/samples/FirebaseAdmobQuickstart/Properties/AndroidManifest.xml
new file mode 100644
index 000000000..e396006a3
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/Properties/AndroidManifest.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Properties/AssemblyInfo.cs b/firebase-ads/samples/FirebaseAdmobQuickstart/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..92a06e771
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/Properties/AssemblyInfo.cs
@@ -0,0 +1,28 @@
+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("Admob")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Xamarin")]
+[assembly: AssemblyProduct("")]
+[assembly: AssemblyCopyright("adlair")]
+[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/location/samples/PlacesAsync/Resources/AboutResources.txt b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/AboutResources.txt
similarity index 100%
rename from location/samples/PlacesAsync/Resources/AboutResources.txt
rename to firebase-ads/samples/FirebaseAdmobQuickstart/Resources/AboutResources.txt
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-hdpi/firebase_lockup_400.png b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-hdpi/firebase_lockup_400.png
new file mode 100644
index 000000000..5df880022
Binary files /dev/null and b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-hdpi/firebase_lockup_400.png differ
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-mdpi/firebase_lockup_400.png b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-mdpi/firebase_lockup_400.png
new file mode 100644
index 000000000..0c7bd7505
Binary files /dev/null and b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-mdpi/firebase_lockup_400.png differ
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-xhdpi/firebase_lockup_400.png b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-xhdpi/firebase_lockup_400.png
new file mode 100644
index 000000000..d73f83a6f
Binary files /dev/null and b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-xhdpi/firebase_lockup_400.png differ
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-xxhdpi/firebase_lockup_400.png b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-xxhdpi/firebase_lockup_400.png
new file mode 100644
index 000000000..dd256063e
Binary files /dev/null and b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-xxhdpi/firebase_lockup_400.png differ
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-xxxhdpi/firebase_lockup_400.png b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-xxxhdpi/firebase_lockup_400.png
new file mode 100644
index 000000000..a92c3c10f
Binary files /dev/null and b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/drawable-xxxhdpi/firebase_lockup_400.png differ
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/layout/activity_main.xml b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/layout/activity_main.xml
new file mode 100755
index 000000000..9cd05a8a3
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/layout/activity_main.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/layout/second_activity.xml b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/layout/second_activity.xml
new file mode 100755
index 000000000..3e6a25e1d
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/layout/second_activity.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/local.properties b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/local.properties
new file mode 100644
index 000000000..d3537c781
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/local.properties
@@ -0,0 +1 @@
+sdk.dir = /Applications/Android Studio.app/sdk/
\ No newline at end of file
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-hdpi/ic_launcher.png b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 000000000..b3b243f5b
Binary files /dev/null and b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-hdpi/ic_launcher.png differ
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-mdpi/ic_launcher.png b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 000000000..2426e6690
Binary files /dev/null and b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-mdpi/ic_launcher.png differ
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-xhdpi/ic_launcher.png b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..bf4ff09d2
Binary files /dev/null and b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-xhdpi/ic_launcher.png differ
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-xxhdpi/ic_launcher.png b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..c38e930ce
Binary files /dev/null and b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-xxxhdpi/ic_launcher.png b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 000000000..d60eaa545
Binary files /dev/null and b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values-w820dp/dimens.xml b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values-w820dp/dimens.xml
new file mode 100755
index 000000000..63fc81644
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values-w820dp/dimens.xml
@@ -0,0 +1,6 @@
+
+
+ 64dp
+
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/colors.xml b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/colors.xml
new file mode 100755
index 000000000..446f7da31
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/colors.xml
@@ -0,0 +1,6 @@
+
+
+ #039BE5
+ #0288D1
+ #FFA000
+
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/dimens.xml b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/dimens.xml
new file mode 100755
index 000000000..47c822467
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/dimens.xml
@@ -0,0 +1,5 @@
+
+
+ 16dp
+ 16dp
+
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/strings.xml b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/strings.xml
new file mode 100755
index 000000000..7a9c4b0ca
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/strings.xml
@@ -0,0 +1,10 @@
+
+
+ AdMob Quickstart
+ Hello world!
+ Show Interstitial Ad
+ SecondActivity
+ This is the second activity.
+ ca-app-pub-3940256099942544/6300978111
+ ca-app-pub-3940256099942544/1033173712
+
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/styles.xml b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/styles.xml
new file mode 100755
index 000000000..09c8bdf79
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/Resources/values/styles.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/SecondActivity.cs b/firebase-ads/samples/FirebaseAdmobQuickstart/SecondActivity.cs
new file mode 100644
index 000000000..9c67220a4
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/SecondActivity.cs
@@ -0,0 +1,17 @@
+using Android.App;
+using Android.Support.V7.App;
+
+namespace Admob
+{
+ [Activity]
+ public class SecondActivity : AppCompatActivity
+ {
+ protected override void OnCreate(Android.OS.Bundle savedInstanceState)
+ {
+ base.OnCreate(savedInstanceState);
+
+ SetContentView(Resource.Layout.second_activity);
+ }
+ }
+}
+
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/google-services.json b/firebase-ads/samples/FirebaseAdmobQuickstart/google-services.json
new file mode 100644
index 000000000..3e377cabb
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/google-services.json
@@ -0,0 +1,335 @@
+{
+ "project_info": {
+ "project_number": "593421486254",
+ "firebase_url": "https://xamarin-firebase-quickstarts.firebaseio.com",
+ "project_id": "xamarin-firebase-quickstarts",
+ "storage_bucket": "xamarin-firebase-quickstarts.appspot.com"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:593421486254:android:3a8fdf2f133a8c0e",
+ "android_client_info": {
+ "package_name": "com.xamarin.firebase.crashreportingquickstart"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "593421486254-10ue2b4dmm64mprrkme1de7cp8mrtnp1.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.xamarin.firebase.crashreportingquickstart",
+ "certificate_hash": "84949BBD3F34C8290A55AC9B66AD0A701EBA67AC"
+ }
+ },
+ {
+ "client_id": "593421486254-08p5mh2nvvg8eevcfle42mqkgke0p121.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyCJn4bI1KnMZeAayv687twwEBNibfSHiQI"
+ }
+ ],
+ "services": {
+ "analytics_service": {
+ "status": 1
+ },
+ "appinvite_service": {
+ "status": 1,
+ "other_platform_oauth_client": []
+ },
+ "ads_service": {
+ "status": 2
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:593421486254:android:492d18a58c97ec3b",
+ "android_client_info": {
+ "package_name": "com.xamarin.firebase.analyticsquickstart"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "593421486254-fo3kjqesopu4jegtq3fvv23arips266l.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.xamarin.firebase.analyticsquickstart",
+ "certificate_hash": "84949BBD3F34C8290A55AC9B66AD0A701EBA67AC"
+ }
+ },
+ {
+ "client_id": "593421486254-08p5mh2nvvg8eevcfle42mqkgke0p121.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyCJn4bI1KnMZeAayv687twwEBNibfSHiQI"
+ }
+ ],
+ "services": {
+ "analytics_service": {
+ "status": 1
+ },
+ "appinvite_service": {
+ "status": 1,
+ "other_platform_oauth_client": []
+ },
+ "ads_service": {
+ "status": 2
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:593421486254:android:e7471aa158bbc015",
+ "android_client_info": {
+ "package_name": "com.xamarin.firebase.authquickstart"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "593421486254-8socculhsa93mds01p6mups6ddsp1bod.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.xamarin.firebase.authquickstart",
+ "certificate_hash": "84949BBD3F34C8290A55AC9B66AD0A701EBA67AC"
+ }
+ },
+ {
+ "client_id": "593421486254-08p5mh2nvvg8eevcfle42mqkgke0p121.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyCJn4bI1KnMZeAayv687twwEBNibfSHiQI"
+ }
+ ],
+ "services": {
+ "analytics_service": {
+ "status": 1
+ },
+ "appinvite_service": {
+ "status": 1,
+ "other_platform_oauth_client": []
+ },
+ "ads_service": {
+ "status": 2
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:593421486254:android:02c598bec794c989",
+ "android_client_info": {
+ "package_name": "com.xamarin.firebase.messagingquickstart"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "593421486254-ek2nqmbl8gf38shb3j3rouuqn0oqsn54.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.xamarin.firebase.messagingquickstart",
+ "certificate_hash": "84949BBD3F34C8290A55AC9B66AD0A701EBA67AC"
+ }
+ },
+ {
+ "client_id": "593421486254-08p5mh2nvvg8eevcfle42mqkgke0p121.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyCJn4bI1KnMZeAayv687twwEBNibfSHiQI"
+ }
+ ],
+ "services": {
+ "analytics_service": {
+ "status": 1
+ },
+ "appinvite_service": {
+ "status": 1,
+ "other_platform_oauth_client": []
+ },
+ "ads_service": {
+ "status": 2
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:593421486254:android:797e03dd085c0b5c",
+ "android_client_info": {
+ "package_name": "com.xamarin.firebase.admobquickstart"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "593421486254-kon9qvafguatbp3t0md6rt9dsvj6meq2.apps.googleusercontent.com",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.xamarin.firebase.admobquickstart",
+ "certificate_hash": "84949BBD3F34C8290A55AC9B66AD0A701EBA67AC"
+ }
+ },
+ {
+ "client_id": "593421486254-08p5mh2nvvg8eevcfle42mqkgke0p121.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyCJn4bI1KnMZeAayv687twwEBNibfSHiQI"
+ }
+ ],
+ "services": {
+ "analytics_service": {
+ "status": 1
+ },
+ "appinvite_service": {
+ "status": 2,
+ "other_platform_oauth_client": [
+ {
+ "client_id": "593421486254-08p5mh2nvvg8eevcfle42mqkgke0p121.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ]
+ },
+ "ads_service": {
+ "status": 2
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:593421486254:android:6d752ede74017fe3",
+ "android_client_info": {
+ "package_name": "com.xamarin.firebase.configquickstart"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "593421486254-08p5mh2nvvg8eevcfle42mqkgke0p121.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyCJn4bI1KnMZeAayv687twwEBNibfSHiQI"
+ }
+ ],
+ "services": {
+ "analytics_service": {
+ "status": 1
+ },
+ "appinvite_service": {
+ "status": 1,
+ "other_platform_oauth_client": []
+ },
+ "ads_service": {
+ "status": 2
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:593421486254:android:3a3029a2aea3441e",
+ "android_client_info": {
+ "package_name": "com.xamarin.firebase.storagequickstart"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "593421486254-08p5mh2nvvg8eevcfle42mqkgke0p121.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyCJn4bI1KnMZeAayv687twwEBNibfSHiQI"
+ }
+ ],
+ "services": {
+ "analytics_service": {
+ "status": 1
+ },
+ "appinvite_service": {
+ "status": 1,
+ "other_platform_oauth_client": []
+ },
+ "ads_service": {
+ "status": 2
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:593421486254:android:d99288b8c9c83577",
+ "android_client_info": {
+ "package_name": "com.xamarin.firebaseinvitequickstart"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "593421486254-08p5mh2nvvg8eevcfle42mqkgke0p121.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyCJn4bI1KnMZeAayv687twwEBNibfSHiQI"
+ }
+ ],
+ "services": {
+ "analytics_service": {
+ "status": 1
+ },
+ "appinvite_service": {
+ "status": 1,
+ "other_platform_oauth_client": []
+ },
+ "ads_service": {
+ "status": 2
+ }
+ }
+ },
+ {
+ "client_info": {
+ "mobilesdk_app_id": "1:593421486254:android:1b3d5138e31b2ed7",
+ "android_client_info": {
+ "package_name": "com.xamarin.firebase.invitesquickstart"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "593421486254-08p5mh2nvvg8eevcfle42mqkgke0p121.apps.googleusercontent.com",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "AIzaSyCJn4bI1KnMZeAayv687twwEBNibfSHiQI"
+ }
+ ],
+ "services": {
+ "analytics_service": {
+ "status": 1
+ },
+ "appinvite_service": {
+ "status": 1,
+ "other_platform_oauth_client": []
+ },
+ "ads_service": {
+ "status": 2
+ }
+ }
+ }
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/firebase-ads/samples/FirebaseAdmobQuickstart/packages.config b/firebase-ads/samples/FirebaseAdmobQuickstart/packages.config
new file mode 100644
index 000000000..55bb22259
--- /dev/null
+++ b/firebase-ads/samples/FirebaseAdmobQuickstart/packages.config
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/firebase-analytics-impl/nuget/Xamarin.Firebase.Analytics.Impl.template.nuspec b/firebase-analytics-impl/nuget/Xamarin.Firebase.Analytics.Impl.template.nuspec
new file mode 100644
index 000000000..a095fb7c7
--- /dev/null
+++ b/firebase-analytics-impl/nuget/Xamarin.Firebase.Analytics.Impl.template.nuspec
@@ -0,0 +1,27 @@
+
+
+
+ Xamarin.Firebase.Analytics.Impl
+ Xamarin Firebase - Analytics Impl
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Firebase - Analytics Impl $aar-version$
+
+ Xamarin.Android Bindings for Firebase - Analytics Impl $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-analytics-impl_128x128.png
+
+
+
+
+
+
+
+
+
+
diff --git a/firebase-analytics-impl/source/Additions/AboutAdditions.txt b/firebase-analytics-impl/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/firebase-analytics-impl/source/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/firebase-analytics-impl/source/Firebase-Analytics-Impl.csproj b/firebase-analytics-impl/source/Firebase-Analytics-Impl.csproj
new file mode 100644
index 000000000..905fe8325
--- /dev/null
+++ b/firebase-analytics-impl/source/Firebase-Analytics-Impl.csproj
@@ -0,0 +1,82 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}
+ Library
+ Xamarin.Firebase.Analytics.Impl
+ Resources
+ Assets
+ False
+ Xamarin.Firebase.Analytics.Impl
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+ 8.0.30703
+ 2.0
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {865652D3-8D1A-4779-92FC-4C54719286B7}
+ Firebase-Common
+
+
+ {B28F65D1-D8DD-45E8-9DD7-74A3BE40B4CE}
+ Firebase-Iid
+
+
+
+
+
+ Jars\firebase-analytics-impl.jar
+
+
+
diff --git a/firebase-analytics-impl/source/Jars/AboutJars.txt b/firebase-analytics-impl/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/firebase-analytics-impl/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/firebase-analytics-impl/source/Properties/AssemblyInfo.cs b/firebase-analytics-impl/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..6aa83b953
--- /dev/null
+++ b/firebase-analytics-impl/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.Firebase.Analytics.Impl")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __FbConsts.PackageName,
+ SourceUrl = __FbConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __FbConsts.Version,
+ Sha1sum = __FbConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __FbConsts.PackageName,
+ SourceUrl = __FbConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __FbConsts.Version,
+ Sha1sum = __FbConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/firebase/firebase-analytics-impl/" + __FbConsts.Version + "/firebase-analytics-impl-" + __FbConsts.Version + ".aar";
+}
diff --git a/firebase-analytics-impl/source/Transforms/EnumFields.xml b/firebase-analytics-impl/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/firebase-analytics-impl/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/firebase-analytics-impl/source/Transforms/EnumMethods.xml b/firebase-analytics-impl/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/firebase-analytics-impl/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/firebase-analytics-impl/source/Transforms/Metadata.generated.xml b/firebase-analytics-impl/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/firebase-analytics-impl/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/measurement/source/Transforms/Metadata.xml b/firebase-analytics-impl/source/Transforms/Metadata.xml
similarity index 58%
rename from measurement/source/Transforms/Metadata.xml
rename to firebase-analytics-impl/source/Transforms/Metadata.xml
index 3d4755200..5b22e14f3 100644
--- a/measurement/source/Transforms/Metadata.xml
+++ b/firebase-analytics-impl/source/Transforms/Metadata.xml
@@ -1,27 +1,18 @@
- Android.Gms.Internal
- Android.Gms.Measurement
- Android.Gms.Measurement.Internal
+ Firebase
+ Firebase.Analytics
-
-
-
-
+ Android.Gms.Measurement
+ Android.Gms.Measurement.Internal
-
-
-
- Java.Lang.Object
- Java.Lang.Object[]
-
source
size
diff --git a/firebase-analytics/component/Details.template.md b/firebase-analytics/component/Details.template.md
new file mode 100644
index 000000000..906c894cc
--- /dev/null
+++ b/firebase-analytics/component/Details.template.md
@@ -0,0 +1,6 @@
+Firebase - Analytics
+==========================
+
+Firebase Analytics is a free app measurement solution that provides insight on app usage and user engagement.
+
+At the heart of Firebase is Firebase Analytics, a free and unlimited analytics solution. Analytics integrates across Firebase features and provides you with unlimited reporting for up to 500 distinct events that you can define using the Firebase SDK. Firebase Analytics reports help you understand clearly how your users behave, which enables you to make informed decisions regarding app marketing and performance optimizations.
diff --git a/firebase-analytics/component/GettingStarted.template.md b/firebase-analytics/component/GettingStarted.template.md
new file mode 100644
index 000000000..42a5d867b
--- /dev/null
+++ b/firebase-analytics/component/GettingStarted.template.md
@@ -0,0 +1,73 @@
+Get Started with Firebase Analytics for Android
+
+Firebase Analytics collects usage and behavior data for your app. The SDK logs two primary types of information:
+
+ - **Events**: What is happening in your app, such as user actions, system events, or errors.
+
+ - **User properties**: Attributes you define to describe segments of your userbase, such as language preference or geographic location.
+
+Analytics automatically logs some events and user properties; you don't need to add any code to enable them.
+
+
+
+{FIREBASE-CONFIGURE}
+
+
+
+
+### Add Analytics to your App
+
+Declare the `FirebaseAnalytics` object at the top of your activity:
+
+```csharp
+FirebaseAnalytics firebaseAnalytics;
+```
+
+Then initialize it in the `OnCreate ()` method:
+
+```csharp
+// Obtain the FirebaseAnalytics instance.
+firebaseAnalytics = FirebaseAnalytics.GetInstance (this);
+```
+
+### Log events
+
+Once you have created a `FirebaseAnalytics` instance, you can use it to log either predefined or custom events with the `LogEvent ()` method. You can explore the predefined events and parameters in the `FirebaseAnalytics.Event` and `FirebaseAnalytics.Param` reference documentation.
+
+The following code logs a `SelectContent` Event when a user clicks on a specific element in your app.
+
+```csharp
+var bundle = new Bundle`();
+bundle.PutString (FirebaseAnalytics.Param.ItemId, id);
+bundle.PutString (FirebaseAnalytics.Param.ItemName, name);
+bundle.PutString (FirebaseAnalytics.Param.ContentType, "image");
+
+firebaseAnalytics.LogEvent (FirebaseAnalytics.Event.SelectContent, bundle);
+```
+
+### Confirm Events
+
+You can enable verbose logging to monitor logging of events by the SDK to help verify that events are being logged properly. This includes both automatically and manually logged events.
+
+You can enable verbose logging with a series of adb commands:
+
+```
+adb shell setprop log.tag.FA VERBOSE
+adb shell setprop log.tag.FA-SVC VERBOSE
+adb logcat -v time -s FA FA-SVC
+```
+
+This command displays your events helping you immediately verify that events are being sent.
+
+
+
+
+{FIREBASE-SAMPLES}
+
+
+
+{FIREBASE-LEARNMORE}
+
+
+
+{LINKS}
diff --git a/firebase-analytics/component/component.template.yaml b/firebase-analytics/component/component.template.yaml
new file mode 100644
index 000000000..ef1eefc8d
--- /dev/null
+++ b/firebase-analytics/component/component.template.yaml
@@ -0,0 +1,38 @@
+version: $version$
+name: Firebase - Analytics
+id: firebase-analytics
+publisher: Xamarin Inc.
+publisher-url: http://xamarin.com
+summary: A free app measurement solution that provides insight on app usage and user engagement.
+license: ../../License.md
+icons:
+ - ../../icons/firebase-analytics_128x128.png
+ - ../../icons/firebase-analytics_512x512.png
+is_shell: true
+packages:
+ android:
+ - Xamarin.Firebase.Analytics, Version=$nuget-version$
+samples:
+ - name: "Firebase Analytics Quickstart"
+ path: ../../firebase-analytics/samples/FirebaseAnalyticsQuickstart.sln
+ removeProjects:
+ - Base
+ - Basement
+ - Basement-BuildTasks
+ - Tasks
+ - Firebase-Common
+ - Firebase-Analytics
+ - Firebase-Analytics-Impl
+ installNuGets:
+ - project: FirebaseAnalyticsQuickstart
+ packages:
+ - Xamarin.GooglePlayServices.Base
+ - Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
+ - Xamarin.Firebase.Common
+ - Xamarin.Firebase.Analytics
+ - Xamarin.Firebase.Analytics.Impl
+ removeNodes:
+ - "//xNS:Import[contains (@Project, 'Xamarin.GooglePlayServices.Basement.targets')]"
+local-nuget-repo: ../../output/
+no_build: true
diff --git a/firebase-analytics/nuget/Xamarin.Firebase.Analytics.template.nuspec b/firebase-analytics/nuget/Xamarin.Firebase.Analytics.template.nuspec
new file mode 100644
index 000000000..b7050296d
--- /dev/null
+++ b/firebase-analytics/nuget/Xamarin.Firebase.Analytics.template.nuspec
@@ -0,0 +1,27 @@
+
+
+
+ Xamarin.Firebase.Analytics
+ Xamarin Firebase - Analytics
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Firebase - Analytics $aar-version$
+
+ Xamarin.Android Bindings for Firebase - Analytics $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-analytics_128x128.png
+
+
+
+
+
+
+
+
+
+
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/FirebaseAnalyticsQuickstart.UITests.csproj b/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/FirebaseAnalyticsQuickstart.UITests.csproj
new file mode 100644
index 000000000..7eac9f1ba
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/FirebaseAnalyticsQuickstart.UITests.csproj
@@ -0,0 +1,51 @@
+
+
+
+ Debug
+ AnyCPU
+ {5BEAE52C-A71D-487A-8449-62218BC74E68}
+ Library
+ FirebaseAnalyticsQuickstart.UITests
+ FirebaseAnalyticsQuickstart.UITests
+ v4.5
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+
+
+ true
+ bin\Release
+ prompt
+ 4
+
+
+
+
+ ..\packages\NUnit.2.6.3\lib\nunit.framework.dll
+
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
+
+
+
+
+
+
+
+
+
+ {64ADFD05-882E-41D9-B045-935CD0D08CD4}
+ FirebaseAnalyticsQuickstart
+ False
+ False
+
+
+
+
\ No newline at end of file
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/Tests.cs b/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/Tests.cs
new file mode 100644
index 000000000..8c7c78a6b
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/Tests.cs
@@ -0,0 +1,52 @@
+using System;
+using System.IO;
+using System.Linq;
+using NUnit.Framework;
+using Xamarin.UITest;
+using Xamarin.UITest.Android;
+using Xamarin.UITest.Queries;
+
+namespace FirebaseAnalyticsQuickstart.UITests
+{
+ [TestFixture]
+ public class Tests
+ {
+ AndroidApp app;
+
+ [SetUp]
+ public void BeforeEachTest()
+ {
+ app = ConfigureApp
+ .Android
+ .ApkFile("app.apk")
+ .PreferIdeSettings()
+ .StartApp();
+ }
+
+ //[Test]
+ public void Repl()
+ {
+ app.Repl();
+ }
+
+ [Test]
+ public void AppLaunches()
+ {
+ app.Screenshot("Launch");
+ }
+
+ [Test]
+ public void ChooseItem()
+ {
+ app.Screenshot("Launch");
+
+ app.WaitForElement(q => q.Text("Hamburgers"));
+
+ app.Screenshot("Choices");
+
+ app.Tap(q => q.Text("Hamburgers"));
+
+ app.Screenshot("Chose");
+ }
+ }
+}
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/packages.config b/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/packages.config
new file mode 100644
index 000000000..bf72f65b8
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart.UITests/packages.config
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart.sln b/firebase-analytics/samples/FirebaseAnalyticsQuickstart.sln
new file mode 100644
index 000000000..f5af0c96d
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart.sln
@@ -0,0 +1,65 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FirebaseAnalyticsQuickstart", "FirebaseAnalyticsQuickstart\FirebaseAnalyticsQuickstart.csproj", "{64ADFD05-882E-41D9-B045-935CD0D08CD4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Common", "..\..\firebase-common\source\Firebase-Common.csproj", "{865652D3-8D1A-4779-92FC-4C54719286B7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Analytics-Impl", "..\..\firebase-analytics-impl\source\Firebase-Analytics-Impl.csproj", "{CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Analytics", "..\source\Firebase-Analytics.csproj", "{DC5BEB52-1715-4E53-88EF-2D4F1708E394}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement-BuildTasks", "..\..\basement\buildtasks\Basement-BuildTasks.csproj", "{21D99A15-AB98-4691-A45B-D236B2A91DEB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FirebaseAnalyticsQuickstart.UITests", "FirebaseAnalyticsQuickstart.UITests\FirebaseAnalyticsQuickstart.UITests.csproj", "{5BEAE52C-A71D-487A-8449-62218BC74E68}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {64ADFD05-882E-41D9-B045-935CD0D08CD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {64ADFD05-882E-41D9-B045-935CD0D08CD4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {64ADFD05-882E-41D9-B045-935CD0D08CD4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {64ADFD05-882E-41D9-B045-935CD0D08CD4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}.Release|Any CPU.Build.0 = Release|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.Build.0 = Release|Any CPU
+ {5BEAE52C-A71D-487A-8449-62218BC74E68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5BEAE52C-A71D-487A-8449-62218BC74E68}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5BEAE52C-A71D-487A-8449-62218BC74E68}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5BEAE52C-A71D-487A-8449-62218BC74E68}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Assets/AboutAssets.txt b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Assets/AboutAssets.txt
new file mode 100644
index 000000000..a9b0638eb
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/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/firebase-analytics/samples/FirebaseAnalyticsQuickstart/FirebaseAnalyticsQuickstart.csproj b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/FirebaseAnalyticsQuickstart.csproj
new file mode 100644
index 000000000..7512d7fb2
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/FirebaseAnalyticsQuickstart.csproj
@@ -0,0 +1,145 @@
+
+
+
+ Debug
+ AnyCPU
+ {64ADFD05-882E-41D9-B045-935CD0D08CD4}
+ {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ Library
+ FirebaseAnalyticsQuickstart
+ FirebaseAnalyticsQuickstart
+ v7.0
+ True
+ Resources\Resource.designer.cs
+ Resource
+ Properties\AndroidManifest.xml
+ Resources
+ Assets
+ false
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ false
+ None
+ true
+
+
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
+
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+
+
+ ..\packages\Xamarin.Android.Support.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll
+
+
+ ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll
+
+
+ ..\packages\Xamarin.Android.Support.v7.AppCompat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}
+ Firebase-Analytics
+
+
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}
+ Firebase-Analytics-Impl
+
+
+ {865652D3-8D1A-4779-92FC-4C54719286B7}
+ Firebase-Common
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/ImageFragment.cs b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/ImageFragment.cs
new file mode 100644
index 000000000..82137693d
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/ImageFragment.cs
@@ -0,0 +1,47 @@
+using System;
+using Android.OS;
+using Android.Support.V4.App;
+using Android.Views;
+using Android.Widget;
+
+namespace FirebaseAnalyticsQuickstart
+{
+ /**
+ * This fragment displays a featured, specified image.
+ */
+ public class ImageFragment : Fragment
+ {
+ const string ARG_PATTERN = "pattern";
+ int resId;
+
+ /**
+ * Create a ImageFragment displaying the given image.
+ */
+ public static ImageFragment NewInstance (int resId)
+ {
+ ImageFragment fragment = new ImageFragment ();
+ var args = new Bundle ();
+ args.PutInt (ARG_PATTERN, resId);
+ fragment.Arguments = args;
+ return fragment;
+ }
+
+
+ public override void OnCreate (Bundle savedInstanceState)
+ {
+ base.OnCreate (savedInstanceState);
+ if (Arguments != null)
+ resId = Arguments.GetInt (ARG_PATTERN);
+ }
+
+ public override View OnCreateView (LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
+ {
+ var view = inflater.Inflate (Resource.Layout.fragment_main, null);
+ var imageView = view.FindViewById (Resource.Id.imageView);
+ imageView.SetImageResource (resId);
+
+ return view;
+ }
+ }
+}
+
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/ImageInfo.cs b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/ImageInfo.cs
new file mode 100644
index 000000000..591fcacac
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/ImageInfo.cs
@@ -0,0 +1,20 @@
+using System;
+namespace FirebaseAnalyticsQuickstart
+{
+ public class ImageInfo
+ {
+ public int Image { get; private set; }
+ public int Title { get; private set; }
+ public int Id { get; private set; }
+
+ /**
+ * Create a new ImageInfo.
+ */
+ public ImageInfo (int image, int title, int id)
+ {
+ Image = image;
+ Title = title;
+ Id = id;
+ }
+ }
+}
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/MainActivity.cs b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/MainActivity.cs
new file mode 100644
index 000000000..0456b855f
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/MainActivity.cs
@@ -0,0 +1,239 @@
+using Android.App;
+using Android.Widget;
+using Android.OS;
+using Android.Support.V7.App;
+using Android.Support.V4.View;
+using Android.Preferences;
+using Android.Views;
+using Android.Content;
+using Java.Util;
+using Android.Support.V4.App;
+using Firebase.Analytics;
+
+namespace FirebaseAnalyticsQuickstart
+{
+ [Activity (Label = "Firebase Analytics Quickstart", MainLauncher = true, Icon = "@mipmap/ic_launcher")]
+ public class MainActivity : AppCompatActivity
+ {
+ const string TAG = "MainActivity";
+ const string KEY_FAVORITE_FOOD = "favorite_food";
+
+ static readonly ImageInfo [] IMAGE_INFOS = new ImageInfo[] {
+ new ImageInfo (Resource.Drawable.favorite, Resource.String.pattern1_title, Resource.String.pattern1_id),
+ new ImageInfo (Resource.Drawable.flash, Resource.String.pattern2_title, Resource.String.pattern2_id),
+ new ImageInfo (Resource.Drawable.face, Resource.String.pattern3_title, Resource.String.pattern3_id),
+ new ImageInfo (Resource.Drawable.whitebalance, Resource.String.pattern4_title, Resource.String.pattern4_id),
+ };
+
+ /**
+ * PagerAdapter that will provide fragments for each image.
+ * This uses a FragmentPagerAdapter, which keeps every loaded fragment in memory.
+ */
+ ImagePagerAdapter imagePagerAdapter;
+
+ /**
+ * The ViewPager that will host the patterns.
+ */
+ ViewPager viewPager;
+
+ /**
+ * The FirebaseAnalytics used to record screen views.
+ */
+ // [START declare_analytics]
+ FirebaseAnalytics firebaseAnalytics;
+ // [END declare_analytics]
+
+ /**
+ * The user's favorite food, chosen from a dialog.
+ */
+ string favoriteFood;
+
+ protected override void OnCreate (Bundle savedInstanceState)
+ {
+ base.OnCreate (savedInstanceState);
+
+ SetContentView (Resource.Layout.activity_main);
+
+ if (GetString (Resource.String.google_app_id) == "YOUR-APP-ID")
+ throw new System.Exception ("Invalid google-services.json file. Make sure you've downloaded your own config file and added it to your app project with the 'GoogleServicesJson' build action.");
+
+ // [START shared_app_measurement]
+ // Obtain the FirebaseAnalytics instance.
+ firebaseAnalytics = FirebaseAnalytics.GetInstance (this);
+ // [END shared_app_measurement]
+
+ // On first app open, ask the user his/her favorite food. Then set this as a user property
+ // on all subsequent opens.
+ var userFavoriteFood = GetUserFavoriteFood ();
+ if (userFavoriteFood == null)
+ AskFavoriteFood ();
+ else
+ SetUserFavoriteFood (userFavoriteFood);
+
+ // Create the adapter that will return a fragment for each image.
+ imagePagerAdapter = new ImagePagerAdapter (SupportFragmentManager, IMAGE_INFOS, this);
+
+ // Set up the ViewPager with the pattern adapter.
+ viewPager = FindViewById (Resource.Id.pager);
+ viewPager.Adapter = imagePagerAdapter;
+
+ // When the visible image changes, send a screen view hit.
+ viewPager.PageSelected += (sender, e) => {
+ RecordImageView ();
+ };
+
+ // Send initial screen screen view hit.
+ RecordImageView ();
+ }
+
+ /**
+ * Display a dialog prompting the user to pick a favorite food from a list, then record
+ * the answer.
+ */
+ void AskFavoriteFood ()
+ {
+ var choices = Resources.GetStringArray (Resource.Array.food_items);
+ var ad = new Android.Support.V7.App.AlertDialog.Builder (this)
+ .SetCancelable (false)
+ .SetTitle (Resource.String.food_dialog_title)
+ .SetItems (choices, (sender, e) => {
+ var food = choices[e.Which];
+ SetUserFavoriteFood (food);
+ }).Create ();
+
+ ad.Show();
+ }
+
+ /**
+ * Get the user's favorite food from shared preferences.
+ * returns favorite food, as a string.
+ */
+ string GetUserFavoriteFood ()
+ {
+ return PreferenceManager.GetDefaultSharedPreferences (this)
+ .GetString (KEY_FAVORITE_FOOD, null);
+ }
+
+ /**
+ * Set the user's favorite food as an app measurement user property and in shared preferences.
+ */
+ void SetUserFavoriteFood (string food)
+ {
+ Android.Util.Log.Debug (TAG, "setFavoriteFood: " + food);
+ favoriteFood = food;
+
+ PreferenceManager.GetDefaultSharedPreferences (this).Edit ()
+ .PutString (KEY_FAVORITE_FOOD, food)
+ .Apply ();
+
+ // [START user_property]
+ firebaseAnalytics.SetUserProperty ("favorite_food", favoriteFood);
+ // [END user_property]
+ }
+
+ public override bool OnCreateOptionsMenu (IMenu menu)
+ {
+ MenuInflater.Inflate (Resource.Menu.main, menu);
+ return true;
+ }
+
+ public override bool OnOptionsItemSelected (IMenuItem item)
+ {
+ switch (item.ItemId) {
+ case Resource.Id.menu_share:
+ var name = GetCurrentImageTitle ();
+ var text = "I'd love you to hear about " + name;
+
+ var sendIntent = new Intent ();
+ sendIntent.SetAction (Intent.ActionSend);
+ sendIntent.PutExtra (Intent.ExtraText, text);
+ sendIntent.SetType ("text/plain");
+ StartActivity (sendIntent);
+
+ // [START custom_event]
+ var p = new Bundle ();
+ p.PutString ("image_name", name);
+ p.PutString ("full_text", text);
+
+ firebaseAnalytics.LogEvent ("share_image", p);
+ // [END custom_event]
+ break;
+ }
+ return false;
+ }
+
+ /**
+ * Return the title of the currently displayed image.
+ */
+ string GetCurrentImageTitle ()
+ {
+ var position = viewPager.CurrentItem;
+ var info = IMAGE_INFOS [position];
+ return GetString (info.Title);
+ }
+
+ /**
+ * Return the id of the currently displayed image.
+ */
+ string GetCurrentImageId ()
+ {
+ var position = viewPager.CurrentItem;
+ var info = IMAGE_INFOS [position];
+ return GetString (info.Id);
+ }
+
+ /**
+ * Record a screen view for the visible ImageFragment displayed
+ * inside FragmentPagerAdapter.
+ */
+ void RecordImageView ()
+ {
+ var id = GetCurrentImageId ();
+ var name = GetCurrentImageTitle ();
+
+ // [START image_view_event]
+ var bundle = new Bundle ();
+ bundle.PutString (FirebaseAnalytics.Param.ItemId, id);
+ bundle.PutString (FirebaseAnalytics.Param.ItemName, name);
+ bundle.PutString (FirebaseAnalytics.Param.ContentType, "image");
+ firebaseAnalytics.LogEvent (FirebaseAnalytics.Event.SelectContent, bundle);
+ // [END image_view_event]
+ }
+
+ /**
+ * A FragmentPagerAdapter that returns a fragment corresponding to
+ * one of the sections/tabs/pages.
+ */
+ public class ImagePagerAdapter : FragmentPagerAdapter
+ {
+ public Activity Parent { get; set; }
+
+ ImageInfo [] infos;
+
+ public ImagePagerAdapter (Android.Support.V4.App.FragmentManager fm, ImageInfo [] infos, Activity parent) : base (fm)
+ {
+ this.infos = infos;
+ this.Parent = parent;
+ }
+
+ public override Android.Support.V4.App.Fragment GetItem (int position)
+ {
+ var info = infos [position];
+ return ImageFragment.NewInstance (info.Image);
+ }
+
+ public override int Count {
+ get { return infos.Length; }
+ }
+
+ public override Java.Lang.ICharSequence GetPageTitleFormatted (int position)
+ {
+ if (position < 0 || position >= infos.Length)
+ return null;
+
+ var info = infos [position];
+ return new Java.Lang.String (Parent.GetString (info.Title).ToUpperInvariant ());
+ }
+ }
+ }
+}
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Properties/AndroidManifest.xml b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Properties/AndroidManifest.xml
new file mode 100644
index 000000000..51454969f
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Properties/AndroidManifest.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Properties/AssemblyInfo.cs b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..c187c6e7a
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Properties/AssemblyInfo.cs
@@ -0,0 +1,28 @@
+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 ("FirebaseAnalyticsQuickstart")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/AboutResources.txt b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/AboutResources.txt
new file mode 100644
index 000000000..10f52d460
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/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/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/face.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/face.png
new file mode 100755
index 000000000..4e6b1252c
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/face.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/favorite.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/favorite.png
new file mode 100755
index 000000000..e0c2dc11b
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/favorite.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/flash.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/flash.png
new file mode 100755
index 000000000..001245a80
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/flash.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/whitebalance.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/whitebalance.png
new file mode 100755
index 000000000..183bee973
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-hdpi/whitebalance.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/face.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/face.png
new file mode 100755
index 000000000..7c77eb0e4
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/face.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/favorite.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/favorite.png
new file mode 100755
index 000000000..1e218a2ef
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/favorite.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/flash.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/flash.png
new file mode 100755
index 000000000..296155f69
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/flash.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/whitebalance.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/whitebalance.png
new file mode 100755
index 000000000..a1c45ab14
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-mdpi/whitebalance.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/face.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/face.png
new file mode 100755
index 000000000..4e6b1252c
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/face.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/favorite.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/favorite.png
new file mode 100755
index 000000000..e0c2dc11b
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/favorite.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/flash.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/flash.png
new file mode 100755
index 000000000..001245a80
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/flash.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/whitebalance.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/whitebalance.png
new file mode 100755
index 000000000..183bee973
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xhdpi/whitebalance.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/face.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/face.png
new file mode 100755
index 000000000..cdc2978bf
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/face.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/favorite.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/favorite.png
new file mode 100755
index 000000000..5b7ad85f6
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/favorite.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/flash.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/flash.png
new file mode 100755
index 000000000..9fd808759
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/flash.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/whitebalance.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/whitebalance.png
new file mode 100755
index 000000000..210496e30
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable-xxhdpi/whitebalance.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable/circle.xml b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable/circle.xml
new file mode 100755
index 000000000..67b0231f2
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/drawable/circle.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/layout/activity_main.xml b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/layout/activity_main.xml
new file mode 100755
index 000000000..45369dd18
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/layout/activity_main.xml
@@ -0,0 +1,11 @@
+
+
+
+
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/layout/fragment_main.xml b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/layout/fragment_main.xml
new file mode 100755
index 000000000..eedfb8665
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/layout/fragment_main.xml
@@ -0,0 +1,20 @@
+
+
+
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/menu/main.xml b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/menu/main.xml
new file mode 100755
index 000000000..0d9d68b48
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/menu/main.xml
@@ -0,0 +1,6 @@
+
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-hdpi/ic_launcher.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 000000000..b3b243f5b
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-hdpi/ic_launcher.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-mdpi/ic_launcher.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 000000000..2426e6690
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-mdpi/ic_launcher.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-xhdpi/ic_launcher.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 000000000..bf4ff09d2
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-xhdpi/ic_launcher.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-xxhdpi/ic_launcher.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 000000000..c38e930ce
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-xxxhdpi/ic_launcher.png b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 000000000..d60eaa545
Binary files /dev/null and b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values-w820dp/dimens.xml b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values-w820dp/dimens.xml
new file mode 100755
index 000000000..146c0e153
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values-w820dp/dimens.xml
@@ -0,0 +1,3 @@
+
+ 64dp
+
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/colors.xml b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/colors.xml
new file mode 100755
index 000000000..10f990e60
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/colors.xml
@@ -0,0 +1,6 @@
+
+
+ #039BE5
+ #0288D1
+ #FFA000
+
\ No newline at end of file
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/dimens.xml b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/dimens.xml
new file mode 100755
index 000000000..fe991af40
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/dimens.xml
@@ -0,0 +1,4 @@
+
+ 16dp
+ 16dp
+
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/strings.xml b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/strings.xml
new file mode 100755
index 000000000..60b89ec81
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/strings.xml
@@ -0,0 +1,19 @@
+
+ Firebase Analytics Quickstart
+ A
+ B
+ C
+ D
+ id-A
+ id-B
+ id-C
+ id-D
+ Share
+ Which food is your favorite?
+
+ - Hot Dogs
+ - Hamburgers
+ - Pizza
+
+ blh
+
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/styles.xml b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/styles.xml
new file mode 100755
index 000000000..92a6a370d
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/Resources/values/styles.xml
@@ -0,0 +1,7 @@
+
+
+
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/google-services.json b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/google-services.json
new file mode 100644
index 000000000..de0d1ebce
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/google-services.json
@@ -0,0 +1,50 @@
+{
+ "project_info": {
+ "project_number": "123456789",
+ "firebase_url": "https://YOUR-PROJECT-URL.firebaseio.com",
+ "project_id": "YOUR-PROJECT-ID",
+ "storage_bucket": "YOUR-PROJECT-URL.appspot.com"
+ },
+ "client": [
+ {
+ "client_info": {
+ "mobilesdk_app_id": "YOUR-APP-ID",
+ "android_client_info": {
+ "package_name": "com.xamarin.firebase.analyticsquickstart"
+ }
+ },
+ "oauth_client": [
+ {
+ "client_id": "YOUR-CLIENT-ID",
+ "client_type": 1,
+ "android_info": {
+ "package_name": "com.xamarin.firebase.analyticsquickstart",
+ "certificate_hash": "YOUR-CERT-HASH"
+ }
+ },
+ {
+ "client_id": "YOUR-CLIENT-ID",
+ "client_type": 3
+ }
+ ],
+ "api_key": [
+ {
+ "current_key": "YOUR-API-KEY"
+ }
+ ],
+ "services": {
+ "analytics_service": {
+ "status": 1
+ },
+ "appinvite_service": {
+ "status": 1,
+ "other_platform_oauth_client": []
+ },
+ "ads_service": {
+ "status": 2
+ }
+ }
+ },
+ ],
+ "configuration_version": "1"
+}
\ No newline at end of file
diff --git a/firebase-analytics/samples/FirebaseAnalyticsQuickstart/packages.config b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/packages.config
new file mode 100644
index 000000000..55bb22259
--- /dev/null
+++ b/firebase-analytics/samples/FirebaseAnalyticsQuickstart/packages.config
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/firebase-analytics/source/Additions/AboutAdditions.txt b/firebase-analytics/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/firebase-analytics/source/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/firebase-analytics/source/Additions/Manifest.cs b/firebase-analytics/source/Additions/Manifest.cs
new file mode 100644
index 000000000..a6c7a4674
--- /dev/null
+++ b/firebase-analytics/source/Additions/Manifest.cs
@@ -0,0 +1,32 @@
+using Android.App;
+using Android.Content;
+
+[assembly: UsesPermission (Android.Manifest.Permission.Internet)]
+[assembly: UsesPermission (Android.Manifest.Permission.AccessNetworkState)]
+[assembly: UsesPermission (Android.Manifest.Permission.WakeLock)]
+
+namespace Android.Gms.Measurement
+{
+ //
+ //
+ //
+ //
+ //
+ [BroadcastReceiver (Name="com.google.android.gms.measurement.AppMeasurementReceiver", Enabled=true)]
+ [IntentFilter (new [] { "com.google.android.gms.measurement.UPLOAD" })]
+ public partial class AppMeasurementReceiver
+ {
+ }
+
+ //
+ [Service (Name="com.google.android.gms.measurement.AppMeasurementService", Enabled=true, Exported=false)]
+ public partial class AppMeasurementService
+ {
+ }
+}
+
diff --git a/firebase-analytics/source/Firebase-Analytics.csproj b/firebase-analytics/source/Firebase-Analytics.csproj
new file mode 100644
index 000000000..63f180ea9
--- /dev/null
+++ b/firebase-analytics/source/Firebase-Analytics.csproj
@@ -0,0 +1,83 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}
+ Library
+ Xamarin.Firebase.Analytics
+ Resources
+ Assets
+ False
+ Xamarin.Firebase.Analytics
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+ 8.0.30703
+ 2.0
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {865652D3-8D1A-4779-92FC-4C54719286B7}
+ Firebase-Common
+
+
+ {CFB0A03A-F787-4EE9-9EA6-8A2A65E82704}
+ Firebase-Analytics-Impl
+
+
+
+
+
+ Jars\firebase-analytics.jar
+
+
+
diff --git a/firebase-analytics/source/Jars/AboutJars.txt b/firebase-analytics/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/firebase-analytics/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/firebase-analytics/source/Properties/AssemblyInfo.cs b/firebase-analytics/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..3193c01af
--- /dev/null
+++ b/firebase-analytics/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.Firebase.Analytics")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __FbConsts.PackageName,
+ SourceUrl = __FbConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __FbConsts.Version,
+ Sha1sum = __FbConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __FbConsts.PackageName,
+ SourceUrl = __FbConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __FbConsts.Version,
+ Sha1sum = __FbConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/firebase/firebase-analytics/" + __FbConsts.Version + "/firebase-analytics-" + __FbConsts.Version + ".aar";
+}
diff --git a/firebase-analytics/source/Transforms/EnumFields.xml b/firebase-analytics/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/firebase-analytics/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/firebase-analytics/source/Transforms/EnumMethods.xml b/firebase-analytics/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/firebase-analytics/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/firebase-analytics/source/Transforms/Metadata.generated.xml b/firebase-analytics/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/firebase-analytics/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/firebase-analytics/source/Transforms/Metadata.xml b/firebase-analytics/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..3a022cfc6
--- /dev/null
+++ b/firebase-analytics/source/Transforms/Metadata.xml
@@ -0,0 +1,18 @@
+
+
+
+ Android.Gms.Measurement
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
diff --git a/firebase-auth-common/nuget/Xamarin.Firebase.Auth.Common.template.nuspec b/firebase-auth-common/nuget/Xamarin.Firebase.Auth.Common.template.nuspec
new file mode 100644
index 000000000..82b5e8d0d
--- /dev/null
+++ b/firebase-auth-common/nuget/Xamarin.Firebase.Auth.Common.template.nuspec
@@ -0,0 +1,28 @@
+
+
+
+ Xamarin.Firebase.Auth.Common
+ Xamarin Firebase - Auth Common
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Firebase - Auth Common $aar-version$
+
+ Xamarin.Android Bindings for Firebase - Auth Common $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-auth-common_128x128.png
+
+
+
+
+
+
+
+
+
+
+
diff --git a/firebase-auth-common/source/Additions/AboutAdditions.txt b/firebase-auth-common/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/firebase-auth-common/source/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/firebase-auth-common/source/Firebase-Auth-Common.csproj b/firebase-auth-common/source/Firebase-Auth-Common.csproj
new file mode 100644
index 000000000..6362cf95f
--- /dev/null
+++ b/firebase-auth-common/source/Firebase-Auth-Common.csproj
@@ -0,0 +1,86 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}
+ Library
+ Xamarin.Firebase.Auth.Common
+ Resources
+ Assets
+ False
+ Xamarin.Firebase.Auth.Common
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+ 8.0.30703
+ 2.0
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+ {865652D3-8D1A-4779-92FC-4C54719286B7}
+ Firebase-Common
+
+
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}
+ Firebase-Auth-Module
+
+
+
+
+
+ Jars\firebase-auth-common.jar
+
+
+
diff --git a/firebase-auth-common/source/Jars/AboutJars.txt b/firebase-auth-common/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/firebase-auth-common/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/firebase-auth-common/source/Properties/AssemblyInfo.cs b/firebase-auth-common/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..a18954283
--- /dev/null
+++ b/firebase-auth-common/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.Firebase.Auth.Common")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __FbConsts.PackageName,
+ SourceUrl = __FbConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __FbConsts.Version,
+ Sha1sum = __FbConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __FbConsts.PackageName,
+ SourceUrl = __FbConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __FbConsts.Version,
+ Sha1sum = __FbConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/firebase/firebase-auth-common/" + __FbConsts.Version + "/firebase-auth-common-" + __FbConsts.Version + ".aar";
+}
diff --git a/firebase-auth-common/source/Transforms/EnumFields.xml b/firebase-auth-common/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/firebase-auth-common/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/firebase-auth-common/source/Transforms/EnumMethods.xml b/firebase-auth-common/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/firebase-auth-common/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/firebase-auth-common/source/Transforms/Metadata.generated.xml b/firebase-auth-common/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/firebase-auth-common/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/firebase-auth-common/source/Transforms/Metadata.xml b/firebase-auth-common/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..5b19d048b
--- /dev/null
+++ b/firebase-auth-common/source/Transforms/Metadata.xml
@@ -0,0 +1,18 @@
+
+
+
+ Firebase.Auth
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
diff --git a/firebase-auth-module/nuget/Xamarin.Firebase.Auth.Module.template.nuspec b/firebase-auth-module/nuget/Xamarin.Firebase.Auth.Module.template.nuspec
new file mode 100644
index 000000000..0f9a8ee27
--- /dev/null
+++ b/firebase-auth-module/nuget/Xamarin.Firebase.Auth.Module.template.nuspec
@@ -0,0 +1,26 @@
+
+
+
+ Xamarin.Firebase.Auth.Module
+ Xamarin Firebase - Auth Module
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Firebase - Auth Module $aar-version$
+
+ Xamarin.Android Bindings for Firebase - Auth Module $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-auth-module_128x128.png
+
+
+
+
+
+
+
+
+
diff --git a/firebase-auth-module/source/Additions/AboutAdditions.txt b/firebase-auth-module/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/firebase-auth-module/source/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/firebase-auth-module/source/Firebase-Auth-Module.csproj b/firebase-auth-module/source/Firebase-Auth-Module.csproj
new file mode 100644
index 000000000..538dff7dd
--- /dev/null
+++ b/firebase-auth-module/source/Firebase-Auth-Module.csproj
@@ -0,0 +1,68 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}
+ Library
+ Xamarin.Firebase.Auth.Module
+ Resources
+ Assets
+ False
+ Xamarin.Firebase.Auth.Module
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+ 8.0.30703
+ 2.0
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Jars\firebase-auth-module.jar
+
+
+
diff --git a/firebase-auth-module/source/Jars/AboutJars.txt b/firebase-auth-module/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/firebase-auth-module/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/firebase-auth-module/source/Properties/AssemblyInfo.cs b/firebase-auth-module/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..382d69fa8
--- /dev/null
+++ b/firebase-auth-module/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.Firebase.Auth.Module")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __FbConsts.PackageName,
+ SourceUrl = __FbConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __FbConsts.Version,
+ Sha1sum = __FbConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __FbConsts.PackageName,
+ SourceUrl = __FbConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __FbConsts.Version,
+ Sha1sum = __FbConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/firebase/firebase-auth-module/" + __FbConsts.Version + "/firebase-auth-module-" + __FbConsts.Version + ".aar";
+}
diff --git a/firebase-auth-module/source/Transforms/EnumFields.xml b/firebase-auth-module/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/firebase-auth-module/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/firebase-auth-module/source/Transforms/EnumMethods.xml b/firebase-auth-module/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/firebase-auth-module/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/firebase-auth-module/source/Transforms/Metadata.generated.xml b/firebase-auth-module/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/firebase-auth-module/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/firebase-auth-module/source/Transforms/Metadata.xml b/firebase-auth-module/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..e8d043d99
--- /dev/null
+++ b/firebase-auth-module/source/Transforms/Metadata.xml
@@ -0,0 +1,18 @@
+
+
+
+ Firebase.Auth.Api.Model
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
diff --git a/firebase-auth/component/Details.template.md b/firebase-auth/component/Details.template.md
new file mode 100644
index 000000000..ab2e0a97a
--- /dev/null
+++ b/firebase-auth/component/Details.template.md
@@ -0,0 +1,41 @@
+Firebase - Authentication
+==========================
+
+Most apps need to know the identity of a user. Knowing a user's identity allows an app to securely save user data in the cloud and provide the same personalized experience across all of the user's devices.
+
+Firebase Authentication provides backend services, easy-to-use SDKs, and ready-made UI libraries to authenticate users to your app. It supports authentication using passwords, popular federated identity providers like Google, Facebook and Twitter, and more.
+
+Firebase Authentication integrates tightly with other Firebase services, and it leverages industry standards like OAuth 2.0 and OpenID Connect, so it can be easily integrated with your custom backend.
+
+## Key capabilities
+
+You can sign in users to your Firebase app either by using FirebaseUI as a complete drop-in auth solution or by using the Firebase Authentication SDK to manually integrate one or several sign-in methods into your app.
+
+#### FirebaseUI
+
+Easily add a complete sign-in system to your app. FirebaseUI provides a drop-in auth solution that handles the UI flows for signing in users with email addresses and passwords, Google Sign-In, and Facebook Login.
+
+The FirebaseUI Auth component implements best practices for authentication on mobile devices and websites, which can maximize sign-in and sign-up conversion for your app. It also handles edge cases like account recovery and account linking that can be security sensitive and error-prone to handle correctly.
+
+FirebaseUI can be easily customized to fit in with the rest of your app's visual style, and it is open source, so you aren't constrained in realizing the user experience you want.
+
+
+
+#### Email and password based authentication
+
+Authenticate users with their email addresses and passwords. The Firebase Authentication SDK provides methods to create and manage users that use their email addresses and passwords to sign in. Firebase Authentication also handles sending password reset emails.
+
+
+
+#### Federated identity provider integration
+
+Authenticate users by integrating with federated identity providers. The Firebase Authentication SDK provides methods that allow users to sign in with their Google, Facebook, Twitter, and GitHub accounts.
+
+You can also connect your app's existing sign-in system to the Firebase Authentication SDK and gain access to Firebase Realtime Database and other Firebase services.
+
+
+
+#### Anonymous auth
+
+Use Firebase features that require authentication without requiring users to sign in first by creating temporary anonymous accounts. If the user later chooses to sign up, you can upgrade the anonymous account to a regular account, so the user can continue where they left off.
+
diff --git a/firebase-auth/component/GettingStarted.template.md b/firebase-auth/component/GettingStarted.template.md
new file mode 100644
index 000000000..9e093ca19
--- /dev/null
+++ b/firebase-auth/component/GettingStarted.template.md
@@ -0,0 +1,222 @@
+Get Started with Firebase Authentication for Android
+
+
+{FIREBASE-CONFIGURE}
+
+
+
+## Manage Users in Firebase
+
+
+### Create a User
+
+You create a new user in your Firebase project by calling the `CreateUserWithEmailAndPassword` method or by signing in a user for the first time using a federated identity provider, such as Google Sign-In or Facebook Login.
+
+You can also create new password-authenticated users from the Authentication section of the Firebase console, on the Users page.
+
+
+### Get the currently signed-in user
+
+The recommended way to get the current user is by subscribing to the `AuthState` event:
+
+```csharp
+FirebaseAuth.Instance.AuthState += (sender, e) => {
+ var user = e?.Auth?.CurrentUser;
+
+ if (user != null) {
+ // User is signed in
+ } else {
+ // User is signed out
+ }
+};
+```
+
+By subscribing to the event, you ensure the Auth object isn't in an intermediate state - such as initialization - when you get the current user.
+
+You can also get the currently signed-in user by accessing the `FirebaseAuth.Instance.CurrentUser` property. If a user isn't signed in, the result will be `null`.
+
+```csharp
+var user = FirebaseAuth.Instance.CurrentUser;
+var signedIn = user != null;
+```
+
+
+### Get a user's profile
+
+To get a user's profile information, use the accessor methods of an instance of FirebaseUser. For example:
+
+```csharp
+var user = FirebaseAuth.Instance.CurrentUser;
+
+if (user != null) {
+ // Name, email address, and profile photo Url
+ var name = user.DisplayName;
+ var email = user.Email;
+ var photoUrl = user.PhotoUrl;
+
+ // The user's ID, unique to the Firebase project. Do NOT use this value to
+ // authenticate with your backend server, if you have one. Use
+ // FirebaseUser.Token instead.
+ var uid = user.Uid;
+}
+```
+
+
+### Get a user's provider-specific profile information
+
+To get the profile information retrieved from the sign-in providers linked to a user, use the `ProviderData` property. For example:
+
+```csharp
+var user = FirebaseAuth.Instance.CurrentUser;
+if (user != null) {
+ foreach (IUserInfo profile in user.ProviderData) {
+ // Id of the provider (ex: google.com)
+ var providerId = profile.ProviderId;
+
+ // UID specific to the provider
+ var uid = profile.Uid;
+
+ // Name, email address, and profile photo Url
+ var name = profile.DisplayName;
+ var email = profile.Email;
+ var photoUrl = profile.PhotoUrl;
+ };
+}
+```
+
+
+
+### Update a user's profile
+
+You can update a user's basic profile information—the user's display name and profile photo URL—with the `UpdateProfile` method. For example:
+
+```csharp
+var user = FirebaseAuth.Instance.CurrentUser;
+
+var profileUpdates = new UserProfileChangeRequest.Builder()
+ .SetDisplayName ("Jane Q. User")
+ .SetPhotoUri (Uri.Parse ("https://example.com/user/profile.jpg"))
+ .Build();
+
+try {
+ await user.UpdateProfileAsync (profileUpdates);
+} catch (Exception ex) {
+ // Failed to update user profile
+}
+```
+
+
+
+### Set a user's email address
+
+You can set a user's email address with the `UpdateEmail` method. For example:
+
+```csharp
+var user = FirebaseAuth.Instance.gCurrentUser;
+
+try {
+ await user.UpdateEmailAsync ("user@example.com");
+} catch (Exception ex) {
+ // Failed to update user email
+}
+```
+
+
+
+
+
+## Password Authentication
+
+You will need to enable Email/Password sign-in in your Firebase console if you haven't already:
+
+ 1. In the Firebase console, open the Auth section.
+ 2. On the Sign in method tab, enable the ***Email/password*** sign-in method and click ***Save***.
+
+
+### Create a password-based account
+
+To create a new user account with a password, complete the following steps in your app's sign-in activity:
+
+Set up an AuthState event handler that responds to changes in the user's sign-in state:
+
+```csharp
+public void AuthStateChanged (object sender, FirebaseAuth.AuthStateEventArgs e)
+{
+ var user = e.Auth.CurrentUser;
+
+ if (user != null) {
+ // User is signed in
+ } else {
+ // User is signed out
+ }
+}
+
+// ...
+
+public override void OnStart ()
+{
+ base.OnStart ();
+
+ FirebaseAuth.Instance.AuthState += AuthStateChanged;
+}
+
+public override void OnStop ()
+{
+ base.OnStop ();
+
+ FirebaseAuth.Instance.AuthState -= AuthStateChanged;
+}
+```
+
+When a new user signs up using your app's sign-up form, complete any new account validation steps that your app requires, such as verifying that the new account's password was correctly typed and meets your complexity requirements.
+
+Create a new account by passing the new user's email address and password to `CreateUserWithEmailAndPasswordAsync`:
+
+```csharp
+try {
+ await FirebaseAuth.Instance.CreateUserWithEmailAndPasswordAsync (email, password);
+} catch (Exception ex) {
+ // Sign-up failed, display a message to the user
+ // If sign in succeeds, the AuthState event handler will
+ // be notified and logic to handle the signed in user can happen there
+ Toast.MakeText (this, "Sign In failed", ToastLength.Short).Show ();
+}
+```
+
+If the new account was created, the user is also signed in, and the AuthState event is fired. In the event handler, you can use the `CurrentUser` property to get the user's account data.
+
+
+
+
+### Sign in a user with an email address and password
+
+The steps for signing in a user with a password are similar to the steps for creating a new account. In your app's sign-in activity, do the following:
+
+
+Set up the AuthState event handler just like in the previous example, that responds to changes in the user's sign-in state:
+
+When a user signs in to your app, pass the user's email address and password to `SignInWithEmailAndPasswordAsync`:
+
+```csharp
+try {
+ await FirebaseAuth.Instance.SignInWithEmailAndPasswordAsync (email, password);
+} catch (Exception ex) {
+ // Sign-in failed, display a message to the user
+ // If sign in succeeds, the AuthState event handler will
+ // be notified and logic to handle the signed in user can happen there
+ Toast.MakeText (this, "Sign In failed", ToastLength.Short).Show ();
+}
+```
+
+If sign-in succeeded, the AuthState event will fire. In the event handler, you can use the `CurrentUser` property to get the user's account data.
+
+
+{FIREBASE-SAMPLES}
+
+
+
+{FIREBASE-LEARNMORE}
+
+
+
+{LINKS}
diff --git a/firebase-auth/component/component.template.yaml b/firebase-auth/component/component.template.yaml
new file mode 100644
index 000000000..81287e937
--- /dev/null
+++ b/firebase-auth/component/component.template.yaml
@@ -0,0 +1,44 @@
+version: $version$
+name: Firebase - Auth
+id: firebase-auth
+publisher: Xamarin Inc.
+publisher-url: http://xamarin.com
+summary: Easily support authentication in your app using passwords, or popular federated identity providers like Google, Facebook, and more.
+license: ../../License.md
+icons:
+ - ../../icons/firebase-auth_128x128.png
+ - ../../icons/firebase-auth_512x512.png
+is_shell: true
+packages:
+ android:
+ - Xamarin.Firebase.Auth, Version=$nuget-version$
+samples:
+ - name: "Firebase Auth Quickstart"
+ path: ../../firebase-auth/samples/FirebaseAuthQuickstart.sln
+ removeProjects:
+ - Auth
+ - Auth.Base
+ - Base
+ - Basement
+ - Basement-BuildTasks
+ - Tasks
+ - Firebase-Common
+ - Firebase-Auth
+ - Firebase-Auth-Common
+ - Firebase-Auth-Module
+ installNuGets:
+ - project: FirebaseAuthQuickstart
+ packages:
+ - Xamarin.GooglePlayServices.Auth
+ - Xamarin.GooglePlayServices.Auth.Base
+ - Xamarin.GooglePlayServices.Base
+ - Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
+ - Xamarin.Firebase.Common
+ - Xamarin.Firebase.Auth
+ - Xamarin.Firebase.Auth.Common
+ - Xamarin.Firebase.Auth.Module
+ removeNodes:
+ - "//xNS:Import[contains (@Project, 'Xamarin.GooglePlayServices.Basement.targets')]"
+local-nuget-repo: ../../output/
+no_build: true
diff --git a/firebase-auth/nuget/Xamarin.Firebase.Auth.template.nuspec b/firebase-auth/nuget/Xamarin.Firebase.Auth.template.nuspec
new file mode 100644
index 000000000..d58311887
--- /dev/null
+++ b/firebase-auth/nuget/Xamarin.Firebase.Auth.template.nuspec
@@ -0,0 +1,30 @@
+
+
+
+ Xamarin.Firebase.Auth
+ Xamarin Firebase - Auth
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Firebase - Auth $aar-version$
+
+ Xamarin.Android Bindings for Firebase - Auth $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/firebase-auth_128x128.png
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/firebase-auth/samples/FirebaseAuthQuickstart.UITests/FirebaseAuthQuickstart.UITests.csproj b/firebase-auth/samples/FirebaseAuthQuickstart.UITests/FirebaseAuthQuickstart.UITests.csproj
new file mode 100644
index 000000000..1e4d9e068
--- /dev/null
+++ b/firebase-auth/samples/FirebaseAuthQuickstart.UITests/FirebaseAuthQuickstart.UITests.csproj
@@ -0,0 +1,51 @@
+
+
+
+ Debug
+ AnyCPU
+ {AB8AA3E4-AE78-4976-841C-757827ABA3E5}
+ Library
+ FirebaseAuthQuickstart.UITests
+ FirebaseAuthQuickstart.UITests
+ v4.5
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+
+
+ true
+ bin\Release
+ prompt
+ 4
+
+
+
+
+ ..\packages\NUnit.2.6.3\lib\nunit.framework.dll
+
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
+
+
+
+
+
+
+
+
+
+ {D4AFDB96-B559-41B4-93D1-33E598E0A477}
+ FirebaseAuthQuickstart
+ False
+ False
+
+
+
+
\ No newline at end of file
diff --git a/firebase-auth/samples/FirebaseAuthQuickstart.UITests/Tests.cs b/firebase-auth/samples/FirebaseAuthQuickstart.UITests/Tests.cs
new file mode 100644
index 000000000..58ca941b6
--- /dev/null
+++ b/firebase-auth/samples/FirebaseAuthQuickstart.UITests/Tests.cs
@@ -0,0 +1,60 @@
+using System;
+using System.IO;
+using System.Linq;
+using NUnit.Framework;
+using Xamarin.UITest;
+using Xamarin.UITest.Android;
+using Xamarin.UITest.Queries;
+
+namespace FirebaseAuthQuickstart.UITests
+{
+ [TestFixture]
+ public class Tests
+ {
+ AndroidApp app;
+
+ [SetUp]
+ public void BeforeEachTest()
+ {
+ app = ConfigureApp
+ .Android
+ .ApkFile("app.apk")
+ .PreferIdeSettings()
+ .StartApp();
+ }
+
+ //[Test]
+ public void Repl()
+ {
+ app.Repl();
+ }
+
+ [Test]
+ public void AppLaunches()
+ {
+ app.WaitForElement(q => q.Text("AnonymousAuthActivity"));
+
+ app.Screenshot("Launch");
+ }
+
+ [Test]
+ public void AnonymousAuth()
+ {
+ app.WaitForElement(q => q.Text("AnonymousAuthActivity"));
+
+ app.Screenshot("Launch");
+
+ app.Tap(q => q.Text("AnonymousAuthActivity"));
+
+ app.WaitForElement(q => q.Text("Anonymous Sign In"));
+
+ app.Tap(q => q.Id("button_anonymous_sign_in"));
+
+ System.Threading.Thread.Sleep(500);
+
+ app.WaitForNoElement(q => q.Id("progress"));
+
+ app.Screenshot("Signed In");
+ }
+ }
+}
diff --git a/firebase-auth/samples/FirebaseAuthQuickstart.UITests/packages.config b/firebase-auth/samples/FirebaseAuthQuickstart.UITests/packages.config
new file mode 100644
index 000000000..bf72f65b8
--- /dev/null
+++ b/firebase-auth/samples/FirebaseAuthQuickstart.UITests/packages.config
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/firebase-auth/samples/FirebaseAuthQuickstart.sln b/firebase-auth/samples/FirebaseAuthQuickstart.sln
new file mode 100644
index 000000000..1166ff6a3
--- /dev/null
+++ b/firebase-auth/samples/FirebaseAuthQuickstart.sln
@@ -0,0 +1,83 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FirebaseAuthQuickstart", "FirebaseAuthQuickstart\FirebaseAuthQuickstart.csproj", "{D4AFDB96-B559-41B4-93D1-33E598E0A477}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Common", "..\..\firebase-common\source\Firebase-Common.csproj", "{865652D3-8D1A-4779-92FC-4C54719286B7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Auth-Module", "..\..\firebase-auth-module\source\Firebase-Auth-Module.csproj", "{7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Auth-Common", "..\..\firebase-auth-common\source\Firebase-Auth-Common.csproj", "{F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Firebase-Auth", "..\source\Firebase-Auth.csproj", "{62946D89-B6B1-4A38-A04D-C20912087EFD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement-BuildTasks", "..\..\basement\buildtasks\Basement-BuildTasks.csproj", "{21D99A15-AB98-4691-A45B-D236B2A91DEB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Auth.Base", "..\..\auth-base\source\Auth.Base.csproj", "{B04C50F7-B0CC-4170-8820-9D584E1C0ED3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Auth", "..\..\auth\source\Auth.csproj", "{A0CDF507-32B7-4994-8248-94FAB8646E35}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FirebaseAuthQuickstart.UITests", "FirebaseAuthQuickstart.UITests\FirebaseAuthQuickstart.UITests.csproj", "{AB8AA3E4-AE78-4976-841C-757827ABA3E5}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {D4AFDB96-B559-41B4-93D1-33E598E0A477}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D4AFDB96-B559-41B4-93D1-33E598E0A477}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D4AFDB96-B559-41B4-93D1-33E598E0A477}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D4AFDB96-B559-41B4-93D1-33E598E0A477}.Release|Any CPU.Build.0 = Release|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {865652D3-8D1A-4779-92FC-4C54719286B7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7DA24DFC-EF53-4C06-AB7A-FF6BEF513A1B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {F53B34FB-4BBC-4314-8D8A-1F0CD959E83F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {62946D89-B6B1-4A38-A04D-C20912087EFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {62946D89-B6B1-4A38-A04D-C20912087EFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {62946D89-B6B1-4A38-A04D-C20912087EFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {62946D89-B6B1-4A38-A04D-C20912087EFD}.Release|Any CPU.Build.0 = Release|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {21D99A15-AB98-4691-A45B-D236B2A91DEB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B04C50F7-B0CC-4170-8820-9D584E1C0ED3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B04C50F7-B0CC-4170-8820-9D584E1C0ED3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B04C50F7-B0CC-4170-8820-9D584E1C0ED3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B04C50F7-B0CC-4170-8820-9D584E1C0ED3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A0CDF507-32B7-4994-8248-94FAB8646E35}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A0CDF507-32B7-4994-8248-94FAB8646E35}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A0CDF507-32B7-4994-8248-94FAB8646E35}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A0CDF507-32B7-4994-8248-94FAB8646E35}.Release|Any CPU.Build.0 = Release|Any CPU
+ {AB8AA3E4-AE78-4976-841C-757827ABA3E5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {AB8AA3E4-AE78-4976-841C-757827ABA3E5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {AB8AA3E4-AE78-4976-841C-757827ABA3E5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {AB8AA3E4-AE78-4976-841C-757827ABA3E5}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+EndGlobal
diff --git a/firebase-auth/samples/FirebaseAuthQuickstart/AnonymousAuthActivity.cs b/firebase-auth/samples/FirebaseAuthQuickstart/AnonymousAuthActivity.cs
new file mode 100644
index 000000000..c0192b6e8
--- /dev/null
+++ b/firebase-auth/samples/FirebaseAuthQuickstart/AnonymousAuthActivity.cs
@@ -0,0 +1,194 @@
+
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Android.App;
+using Android.Content;
+using Android.OS;
+using Android.Runtime;
+using Android.Views;
+using Android.Widget;
+using Android.Gms.Extensions;
+using Android.Gms.Tasks;
+
+using Firebase.Auth;
+using Android.Text;
+
+namespace FirebaseAuthQuickstart
+{
+ [Activity (Label = "Anonymous Auth")]
+ public class AnonymousAuthActivity : BaseActivity
+ {
+ const string TAG = "AnonymousAuth";
+
+ // [START declare_auth]
+ FirebaseAuth mAuth;
+ // [END declare_auth]
+
+ EditText mEmailField;
+ EditText mPasswordField;
+
+ protected override void OnCreate (Bundle savedInstanceState)
+ {
+ base.OnCreate (savedInstanceState);
+ SetContentView (Resource.Layout.activity_anonymous_auth);
+
+ // [START initialize_auth]
+ mAuth = FirebaseAuth.Instance;
+ // [END initialize_auth]
+
+ // Fields
+ mEmailField = FindViewById (Resource.Id.field_email);
+ mPasswordField = FindViewById (Resource.Id.field_password);
+
+ // Click listeners
+ FindViewById
-
+
diff --git a/fitness/samples/BasicSensorsApi.UITests/BasicSensorsApi.UITests.csproj b/fitness/samples/BasicSensorsApi.UITests/BasicSensorsApi.UITests.csproj
index 445304446..c9c4c09be 100644
--- a/fitness/samples/BasicSensorsApi.UITests/BasicSensorsApi.UITests.csproj
+++ b/fitness/samples/BasicSensorsApi.UITests/BasicSensorsApi.UITests.csproj
@@ -29,12 +29,12 @@
-
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
-
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
diff --git a/fitness/samples/BasicSensorsApi.UITests/packages.config b/fitness/samples/BasicSensorsApi.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/fitness/samples/BasicSensorsApi.UITests/packages.config
+++ b/fitness/samples/BasicSensorsApi.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/fitness/samples/BasicSensorsApi.sln b/fitness/samples/BasicSensorsApi.sln
index 8648b917a..a446c545c 100644
--- a/fitness/samples/BasicSensorsApi.sln
+++ b/fitness/samples/BasicSensorsApi.sln
@@ -11,10 +11,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Fitness", "..\source\Fitnes
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Location", "..\..\location\source\Location.csproj", "{F666DC89-9CE4-491C-8450-6FBC70298FA3}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maps", "..\..\maps\source\Maps.csproj", "{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -37,10 +37,6 @@ Global
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.Build.0 = Release|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.Build.0 = Release|Any CPU
{8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8900C5EF-1182-4E8B-88FE-596EC2DB379D}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -49,5 +45,9 @@ Global
{F666DC89-9CE4-491C-8450-6FBC70298FA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F666DC89-9CE4-491C-8450-6FBC70298FA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F666DC89-9CE4-491C-8450-6FBC70298FA3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/fitness/samples/BasicSensorsApi/BasicSensorsApi.csproj b/fitness/samples/BasicSensorsApi/BasicSensorsApi.csproj
index e07545d83..4b0517c7a 100644
--- a/fitness/samples/BasicSensorsApi/BasicSensorsApi.csproj
+++ b/fitness/samples/BasicSensorsApi/BasicSensorsApi.csproj
@@ -15,7 +15,8 @@
True
False
BasicSensorsApi
- v5.0
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
full
@@ -37,18 +37,38 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+
+
+ ..\packages\Xamarin.Android.Support.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Vector.Drawable.dll
+
+
+ ..\packages\Xamarin.Android.Support.Animated.Vector.Drawable.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Animated.Vector.Drawable.dll
- ..\packages\Xamarin.Android.Support.v7.AppCompat.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll
+ ..\packages\Xamarin.Android.Support.v7.AppCompat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v7.AppCompat.dll
@@ -74,7 +94,7 @@
-
+
@@ -91,10 +111,6 @@
{F666DC89-9CE4-491C-8450-6FBC70298FA3}
Location
-
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}
- Maps
-
{8900C5EF-1182-4E8B-88FE-596EC2DB379D}
Fitness
@@ -103,5 +119,10 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
+
\ No newline at end of file
diff --git a/fitness/samples/BasicSensorsApi/Properties/AssemblyInfo.cs b/fitness/samples/BasicSensorsApi/Properties/AssemblyInfo.cs
index e37d9e50c..c81a10af7 100644
--- a/fitness/samples/BasicSensorsApi/Properties/AssemblyInfo.cs
+++ b/fitness/samples/BasicSensorsApi/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("BasicSensorsApi")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/fitness/samples/BasicSensorsApi/packages.config b/fitness/samples/BasicSensorsApi/packages.config
index 508542c3b..55bb22259 100644
--- a/fitness/samples/BasicSensorsApi/packages.config
+++ b/fitness/samples/BasicSensorsApi/packages.config
@@ -1,5 +1,12 @@
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/fitness/source/Additions/IPendingResultExtensions.cs b/fitness/source/Additions/IPendingResultExtensions.cs
index 0874dfb62..de6ad5cd8 100644
--- a/fitness/source/Additions/IPendingResultExtensions.cs
+++ b/fitness/source/Additions/IPendingResultExtensions.cs
@@ -76,6 +76,18 @@ public static async Task UpdateDataAsync (this IHistoryApi api, Google
{
return (await api.UpdateData (client, request)).JavaCast ();
}
+ public static async Task ReadDailyTotalFromLocalDeviceAsync (this IHistoryApi api, GoogleApiClient client, Data.DataType dataType)
+ {
+ return (await api.ReadDailyTotalFromLocalDevice (client, dataType)).JavaCast ();
+ }
+ public static async Task RegisterDataUpdateListenerAsync (this IHistoryApi api, GoogleApiClient client, Request.DataUpdateListenerRegistrationRequest request)
+ {
+ return (await api.RegisterDataUpdateListener (client, request)).JavaCast ();
+ }
+ public static async Task UnregisterDataUpdateListenerAsync (this IHistoryApi api, GoogleApiClient client, Android.App.PendingIntent pendingIntent)
+ {
+ return (await api.UnregisterDataUpdateListener (client, pendingIntent)).JavaCast ();
+ }
}
public static partial class IRecordingApiExtensions
diff --git a/fitness/source/Fitness.csproj b/fitness/source/Fitness.csproj
index 373abf2a1..8fcde6623 100644
--- a/fitness/source/Fitness.csproj
+++ b/fitness/source/Fitness.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{8900C5EF-1182-4E8B-88FE-596EC2DB379D}
Library
GooglePlayServices.Fitness
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.Fitness
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
+
+ source
+ size
+ dest
+ flags
+
+
API
BLE_API
diff --git a/fitness/source/packages.config b/fitness/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/fitness/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/games/component/component.template.yaml b/games/component/component.template.yaml
index 8bc9d482c..073b5c785 100644
--- a/games/component/component.template.yaml
+++ b/games/component/component.template.yaml
@@ -4,17 +4,10 @@ id: googleplayservices-games
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: "Enhance your games with Google technologies."
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-games_128x128.png
- - icons/googleplayservices-games_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Games.dll
- - ../../output/Xamarin.GooglePlayServices.Drive.dll
- - ../../output/Xamarin.GooglePlayServices.Plus.dll
+ - ../../icons/play-services-games_128x128.png
+ - ../../icons/play-services-games_512x512.png
is_shell: true
packages:
android:
@@ -23,16 +16,18 @@ samples:
- name: "Games Sample"
path: ../../games/samples/BeGenerous.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Games
- - Xamarin.GooglePlayServices.Drive
- - Xamarin.GooglePlayServices.Plus
+ - Base
+ - Basement
+ - Tasks
+ - Games
+ - Drive
+ - Plus
installNuGets:
- project: BeGenerous
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Games
- Xamarin.GooglePlayServices.Drive
- Xamarin.GooglePlayServices.Plus
diff --git a/games/component/icons/googleplayservices-games_128x128.png b/games/component/icons/googleplayservices-games_128x128.png
deleted file mode 100644
index 5a6ec6144..000000000
Binary files a/games/component/icons/googleplayservices-games_128x128.png and /dev/null differ
diff --git a/games/component/icons/googleplayservices-games_512x512.png b/games/component/icons/googleplayservices-games_512x512.png
deleted file mode 100644
index 5ebafe346..000000000
Binary files a/games/component/icons/googleplayservices-games_512x512.png and /dev/null differ
diff --git a/games/nuget/Xamarin.GooglePlayServices.Games.nuspec b/games/nuget/Xamarin.GooglePlayServices.Games.template.nuspec
similarity index 74%
rename from games/nuget/Xamarin.GooglePlayServices.Games.nuspec
rename to games/nuget/Xamarin.GooglePlayServices.Games.template.nuspec
index 00ea3ef44..0a3f67989 100644
--- a/games/nuget/Xamarin.GooglePlayServices.Games.nuspec
+++ b/games/nuget/Xamarin.GooglePlayServices.Games.template.nuspec
@@ -7,16 +7,16 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Games
+ Xamarin.Android Bindings for Google Play Services - Games $aar-version$
- Xamarin.Android Bindings for Google Play Services - Games
+ Xamarin.Android Bindings for Google Play Services - Games $aar-version$
The Play Games SDK provides cross-platform Google Play games services that lets you easily integrate popular gaming features such as achievements, leaderboards, Saved Games, and real-time multiplayer in your tablet and mobile games.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-games/
http://components.xamarin.com/license/googleplayservices-games/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Games.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-games_128x128.png
@@ -24,6 +24,6 @@
-
+
diff --git a/games/samples/BeGenerous.UITests/BeGenerous.UITests.csproj b/games/samples/BeGenerous.UITests/BeGenerous.UITests.csproj
index 9c40b32a4..51c700f60 100644
--- a/games/samples/BeGenerous.UITests/BeGenerous.UITests.csproj
+++ b/games/samples/BeGenerous.UITests/BeGenerous.UITests.csproj
@@ -29,12 +29,12 @@
-
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
-
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
diff --git a/games/samples/BeGenerous.UITests/packages.config b/games/samples/BeGenerous.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/games/samples/BeGenerous.UITests/packages.config
+++ b/games/samples/BeGenerous.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/games/samples/BeGenerous.sln b/games/samples/BeGenerous.sln
index f2cb0ec33..176785aa1 100644
--- a/games/samples/BeGenerous.sln
+++ b/games/samples/BeGenerous.sln
@@ -11,10 +11,12 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Games", "..\source\Games.cs
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Drive", "..\..\drive\source\Drive.csproj", "{8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plus", "..\..\plus\source\Plus.csproj", "{A2B43C02-A237-4222-999E-3354CBB6DB8D}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plus", "..\..\plus\source\Plus.csproj", "{A2B43C02-A237-4222-999E-3354CBB6DB8D}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -41,13 +43,17 @@ Global
{8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8BAFA1ED-B5D9-49ED-A553-E557D2A0357F}.Release|Any CPU.Build.0 = Release|Any CPU
- {A2B43C02-A237-4222-999E-3354CBB6DB8D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {A2B43C02-A237-4222-999E-3354CBB6DB8D}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {A2B43C02-A237-4222-999E-3354CBB6DB8D}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {A2B43C02-A237-4222-999E-3354CBB6DB8D}.Release|Any CPU.Build.0 = Release|Any CPU
{C9356F99-4E2C-48E2-A6EE-106DDD420452}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C9356F99-4E2C-48E2-A6EE-106DDD420452}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C9356F99-4E2C-48E2-A6EE-106DDD420452}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C9356F99-4E2C-48E2-A6EE-106DDD420452}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
+ {A2B43C02-A237-4222-999E-3354CBB6DB8D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {A2B43C02-A237-4222-999E-3354CBB6DB8D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {A2B43C02-A237-4222-999E-3354CBB6DB8D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {A2B43C02-A237-4222-999E-3354CBB6DB8D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/games/samples/BeGenerous/BeGenerous.csproj b/games/samples/BeGenerous/BeGenerous.csproj
index 9ae22f0bd..301a5e071 100644
--- a/games/samples/BeGenerous/BeGenerous.csproj
+++ b/games/samples/BeGenerous/BeGenerous.csproj
@@ -13,9 +13,10 @@
Resource
Resources\Resource.designer.cs
True
- True
+ false
BeGenerous
- v5.1
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
full
@@ -37,15 +37,29 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -92,7 +106,7 @@
-
+
{3F6BAE25-ADEB-468C-8384-AD655623C341}
@@ -106,14 +120,18 @@
{5DF42846-151E-40CD-A349-C0A0C6216F7B}
Games
-
- {A2B43C02-A237-4222-999E-3354CBB6DB8D}
- Plus
-
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
+
+ {A2B43C02-A237-4222-999E-3354CBB6DB8D}
+ Plus
+
diff --git a/games/samples/BeGenerous/Properties/AssemblyInfo.cs b/games/samples/BeGenerous/Properties/AssemblyInfo.cs
index c7d3e0cda..553f3143f 100644
--- a/games/samples/BeGenerous/Properties/AssemblyInfo.cs
+++ b/games/samples/BeGenerous/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("BeGenerous")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/games/samples/BeGenerous/packages.config b/games/samples/BeGenerous/packages.config
index 01c2aac28..71e0c9953 100644
--- a/games/samples/BeGenerous/packages.config
+++ b/games/samples/BeGenerous/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/games/source/Additions/BugWorkarounds.cs b/games/source/Additions/BugWorkarounds.cs
index 1e8c35b81..0fc3c0b2f 100644
--- a/games/source/Additions/BugWorkarounds.cs
+++ b/games/source/Additions/BugWorkarounds.cs
@@ -12,6 +12,14 @@ public static Android.Gms.Common.Apis.Api Api {
}
}
+namespace Android.Gms.Games.MultiPlayer
+{
+ public partial interface IMultiplayer : Android.Runtime.IJavaObject
+ {
+
+ }
+}
+
namespace Android.Gms.Games.AppContent
{
internal static class FreezeMethodImplementor
@@ -288,6 +296,56 @@ public override Java.Lang.Object Get (int position)
}
}
}
+//path="/api/package[@name='com.google.android.gms.games.social']/class[@name='SocialInviteBuffer']"
+namespace Android.Gms.Games.Social
+{
+ internal static class FreezeMethodImplementor
+ {
+ internal static Java.Lang.Object Freeze (ref IntPtr id_freeze, IntPtr class_ref, IntPtr Handle)
+ {
+ if (id_freeze == IntPtr.Zero)
+ id_freeze = JNIEnv.GetMethodID (class_ref, "freeze", "()Ljava/lang/Object;");
+ return (Java.Lang.Object)global::Java.Lang.Object.GetObject (JNIEnv.CallObjectMethod (Handle, id_freeze), JniHandleOwnership.TransferLocalRef);
+ }
+ }
+
+ public sealed partial class SocialInviteBuffer
+ {
+ IntPtr id_get;
+
+ internal static IntPtr this_java_class_handle;
+ internal static IntPtr this_class_ref {
+ get {
+ return JNIEnv.FindClass ("com/google/android/gms/games/social/SocialInviteBuffer", ref this_java_class_handle);
+ }
+ }
+
+ public override Java.Lang.Object Get (int position)
+ {
+ if (id_get == IntPtr.Zero)
+ id_get = JNIEnv.GetMethodID (this_class_ref, "get", "(I)Ljava/lang/Object;");
+ return (Java.Lang.Object)global::Java.Lang.Object.GetObject (JNIEnv.CallObjectMethod (Handle, id_get, new JValue (position)), JniHandleOwnership.TransferLocalRef);
+ }
+ }
+
+ public partial class SocialInviteEntity
+ {
+ IntPtr id_freeze;
+ public Java.Lang.Object Freeze ()
+ {
+ return FreezeMethodImplementor.Freeze (ref id_freeze, class_ref, Handle);
+ }
+ }
+
+ public partial class SocialInviteRef
+ {
+ IntPtr id_freeze;
+ public Java.Lang.Object Freeze ()
+ {
+ return FreezeMethodImplementor.Freeze (ref id_freeze, class_ref, Handle);
+ }
+ }
+}
namespace Android.Gms.Games.Video
{
@@ -318,6 +376,7 @@ public Java.Lang.Object Freeze ()
return FreezeMethodImplementor.Freeze (ref id_freeze, class_ref, Handle);
}
}
+
public sealed partial class VideoBuffer
{
IntPtr id_get;
diff --git a/games/source/Additions/DataBufferAdditions.cs b/games/source/Additions/DataBufferAdditions.cs
index 751a4ddf6..f5d0c8d05 100644
--- a/games/source/Additions/DataBufferAdditions.cs
+++ b/games/source/Additions/DataBufferAdditions.cs
@@ -49,18 +49,18 @@ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
namespace Android.Gms.Games.AppContent
{
- public partial class AppContentSectionBuffer : IEnumerable
- {
- public IEnumerator GetEnumerator()
- {
- return this.ToEnumerable ().GetEnumerator();
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return this.GetEnumerator();
- }
- }
+ //public partial class AppContentSectionBuffer : IEnumerable
+ //{
+ // public IEnumerator GetEnumerator()
+ // {
+ // return this.ToEnumerable ().GetEnumerator();
+ // }
+
+ // System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+ // {
+ // return this.GetEnumerator();
+ // }
+ //}
}
namespace Android.Gms.Games.Event
@@ -81,18 +81,18 @@ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
namespace Android.Gms.Games.LeaderBoard
{
- public partial class LeaderboardBuffer : IEnumerable
- {
- public IEnumerator GetEnumerator()
- {
- return this.ToEnumerable ().GetEnumerator();
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return this.GetEnumerator();
- }
- }
+ //public partial class LeaderboardBuffer : IEnumerable
+ //{
+ // public IEnumerator GetEnumerator()
+ // {
+ // return this.ToEnumerable ().GetEnumerator();
+ // }
+
+ // System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+ // {
+ // return this.GetEnumerator();
+ // }
+ //}
public partial class LeaderboardScoreBuffer : IEnumerable
{
@@ -123,50 +123,50 @@ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
}
}
- public partial class InvitationBuffer : IEnumerable
- {
- public IEnumerator GetEnumerator()
- {
- return this.ToEnumerable ().GetEnumerator();
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return this.GetEnumerator();
- }
- }
+ //public partial class InvitationBuffer : IEnumerable
+ //{
+ // public IEnumerator GetEnumerator()
+ // {
+ // return this.ToEnumerable ().GetEnumerator();
+ // }
+
+ // System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+ // {
+ // return this.GetEnumerator();
+ // }
+ //}
}
namespace Android.Gms.Games.MultiPlayer.RealTime
{
- public partial class RoomBuffer : IEnumerable
- {
- public IEnumerator GetEnumerator()
- {
- return this.ToEnumerable ().GetEnumerator();
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return this.GetEnumerator();
- }
- }
+ //public partial class RoomBuffer : IEnumerable
+ //{
+ // public IEnumerator GetEnumerator()
+ // {
+ // return this.ToEnumerable ().GetEnumerator();
+ // }
+
+ // System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+ // {
+ // return this.GetEnumerator();
+ // }
+ //}
}
namespace Android.Gms.Games.MultiPlayer.TurnBased
{
- public partial class TurnBasedMatchBuffer : IEnumerable
- {
- public IEnumerator GetEnumerator()
- {
- return this.ToEnumerable ().GetEnumerator();
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return this.GetEnumerator();
- }
- }
+ //public partial class TurnBasedMatchBuffer : IEnumerable
+ //{
+ // public IEnumerator GetEnumerator()
+ // {
+ // return this.ToEnumerable ().GetEnumerator();
+ // }
+
+ // System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+ // {
+ // return this.GetEnumerator();
+ // }
+ //}
}
namespace Android.Gms.Games.Request
@@ -184,18 +184,18 @@ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
}
}
- public partial class GameRequestBuffer : IEnumerable
- {
- public IEnumerator GetEnumerator()
- {
- return this.ToEnumerable ().GetEnumerator();
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return this.GetEnumerator();
- }
- }
+ //public partial class GameRequestBuffer : IEnumerable
+ //{
+ // public IEnumerator GetEnumerator()
+ // {
+ // return this.ToEnumerable ().GetEnumerator();
+ // }
+
+ // System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+ // {
+ // return this.GetEnumerator();
+ // }
+ //}
}
namespace Android.Gms.Games.Snapshot
@@ -245,18 +245,18 @@ System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
}
}
- public partial class QuestBuffer : IEnumerable
- {
- public IEnumerator GetEnumerator()
- {
- return this.ToEnumerable ().GetEnumerator();
- }
-
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return this.GetEnumerator();
- }
- }
+ //public partial class QuestBuffer : IEnumerable
+ //{
+ // public IEnumerator GetEnumerator()
+ // {
+ // return this.ToEnumerable ().GetEnumerator();
+ // }
+
+ // System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+ // {
+ // return this.GetEnumerator();
+ // }
+ //}
}
namespace Android.Gms.Games.Video
diff --git a/games/source/Additions/IPendingResultExtensions.cs b/games/source/Additions/IPendingResultExtensions.cs
index 308f2335a..ab9343434 100644
--- a/games/source/Additions/IPendingResultExtensions.cs
+++ b/games/source/Additions/IPendingResultExtensions.cs
@@ -88,7 +88,7 @@ public static async Task LoadAsync (this IEvents api, G
{
return (await api.Load (apiClient, forceReload)).JavaCast ();
}
- public static async Task LoadByIdsAsync (this IEvents api, GoogleApiClient apiClient, bool forceReload, params string[] eventIds)
+ public static async Task LoadByIdsAsync (this IEvents api, GoogleApiClient apiClient, bool forceReload, params string [] eventIds)
{
return (await api.LoadByIds (apiClient, forceReload, eventIds)).JavaCast ();
}
@@ -174,11 +174,11 @@ public static async Task FinishMatchAsyn
{
return (await api.FinishMatch (apiClient, matchId)).JavaCast ();
}
- public static async Task FinishMatchAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, string matchId, byte[] matchData, IList results)
+ public static async Task FinishMatchAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, string matchId, byte [] matchData, IList results)
{
return (await api.FinishMatch (apiClient, matchId, matchData, results)).JavaCast ();
}
- public static async Task FinishMatchAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, string matchId, byte[] matchData, params ParticipantResult[] results)
+ public static async Task FinishMatchAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, string matchId, byte [] matchData, params ParticipantResult [] results)
{
return (await api.FinishMatch (apiClient, matchId, matchData, results)).JavaCast ();
}
@@ -194,11 +194,11 @@ public static async Task LoadMatchAsync (t
{
return (await api.LoadMatch (apiClient, matchId)).JavaCast ();
}
- public static async Task LoadMatchesByStatusAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, int invitationSortOrder, int[] matchTurnStatuses)
+ public static async Task LoadMatchesByStatusAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, int invitationSortOrder, int [] matchTurnStatuses)
{
return (await api.LoadMatchesByStatus (apiClient, invitationSortOrder, matchTurnStatuses)).JavaCast ();
}
- public static async Task LoadMatchesByStatusAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, int[] matchTurnStatuses)
+ public static async Task LoadMatchesByStatusAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, int [] matchTurnStatuses)
{
return (await api.LoadMatchesByStatus (apiClient, matchTurnStatuses)).JavaCast ();
}
@@ -206,15 +206,15 @@ public static async Task RematchAsync
{
return (await api.Rematch (apiClient, matchId)).JavaCast ();
}
- public static async Task TakeTurnAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, string matchId, byte[] matchData, string pendingParticipantId)
+ public static async Task TakeTurnAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, string matchId, byte [] matchData, string pendingParticipantId)
{
return (await api.TakeTurn (apiClient, matchId, matchData, pendingParticipantId)).JavaCast ();
}
- public static async Task TakeTurnAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, string matchId, byte[] matchData, string pendingParticipantId, IList results)
+ public static async Task TakeTurnAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, string matchId, byte [] matchData, string pendingParticipantId, IList results)
{
return (await api.TakeTurn (apiClient, matchId, matchData, pendingParticipantId, results)).JavaCast ();
}
- public static async Task TakeTurnAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, string matchId, byte[] matchData, string pendingParticipantId, params ParticipantResult[] results)
+ public static async Task TakeTurnAsync (this ITurnBasedMultiplayer api, GoogleApiClient apiClient, string matchId, byte [] matchData, string pendingParticipantId, params ParticipantResult [] results)
{
return (await api.TakeTurn (apiClient, matchId, matchData, pendingParticipantId, results)).JavaCast ();
}
@@ -232,11 +232,11 @@ public static async Task ClaimAsync (this IQuests a
{
return (await api.Claim (apiClient, questId, milestoneId)).JavaCast ();
}
- public static async Task LoadAsync (this IQuests api, GoogleApiClient apiClient, int[] questSelectors, int sortOrder, bool forceReload)
+ public static async Task LoadAsync (this IQuests api, GoogleApiClient apiClient, int [] questSelectors, int sortOrder, bool forceReload)
{
return (await api.Load (apiClient, questSelectors, sortOrder, forceReload)).JavaCast ();
}
- public static async Task LoadByIdsAsync (this IQuests api, GoogleApiClient apiClient, bool forceReload, params string[] questIds)
+ public static async Task LoadByIdsAsync (this IQuests api, GoogleApiClient apiClient, bool forceReload, params string [] questIds)
{
return (await api.LoadByIds (apiClient, forceReload, questIds)).JavaCast ();
}
@@ -272,7 +272,7 @@ namespace Android.Gms.Games.Snapshot
{
public static partial class ISnapshotsExtensions
{
- public static async Task CommitAndCloseAsync (this ISnapshots api, GoogleApiClient apiClient, ISnapshot snapshot, SnapshotMetadataChange metadataChange)
+ public static async Task CommitAndCloseAsync (this ISnapshots api, GoogleApiClient apiClient, ISnapshot snapshot, ISnapshotMetadataChange metadataChange)
{
return (await api.CommitAndClose (apiClient, snapshot, metadataChange)).JavaCast ();
}
@@ -304,7 +304,7 @@ public static async Task ResolveConflictAsync (thi
{
return (await api.ResolveConflict (apiClient, conflictId, snapshot)).JavaCast ();
}
- public static async Task ResolveConflictAsync (this ISnapshots api, GoogleApiClient apiClient, string conflictId, string snapshotId, SnapshotMetadataChange metadataChange, ISnapshotContents snapshotContents)
+ public static async Task ResolveConflictAsync (this ISnapshots api, GoogleApiClient apiClient, string conflictId, string snapshotId, ISnapshotMetadataChange metadataChange, ISnapshotContents snapshotContents)
{
return (await api.ResolveConflict (apiClient, conflictId, snapshotId, metadataChange, snapshotContents)).JavaCast ();
}
@@ -320,4 +320,23 @@ public static async Task LoadPlayerStatsAsync (this
return (await api.LoadPlayerStats (apiClient, forceReload)).JavaCast ();
}
}
+}
+
+namespace Android.Gms.Games.Video
+{
+ public static partial class IVideosExtensions
+ {
+ public static async Task GetCaptureCapabilitiesAsync (this IVideos api, GoogleApiClient apiClient)
+ {
+ return (await api.GetCaptureCapabilities (apiClient)).JavaCast ();
+ }
+ public static async Task GetCaptureStateAsync (this IVideos api, GoogleApiClient apiClient)
+ {
+ return (await api.GetCaptureState (apiClient)).JavaCast ();
+ }
+ public static async Task IsCaptureAvailableAsync (this IVideos api, GoogleApiClient apiClient, int p)
+ {
+ return (await api.IsCaptureAvailable (apiClient, p)).JavaCast ();
+ }
+ }
}
\ No newline at end of file
diff --git a/games/source/Games.csproj b/games/source/Games.csproj
index ce49e569a..8f29bfc9c 100644
--- a/games/source/Games.csproj
+++ b/games/source/Games.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{5DF42846-151E-40CD-A349-C0A0C6216F7B}
Library
GooglePlayServices.Games
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.Games
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
invitation
@@ -87,6 +89,13 @@
+
+ source
+ size
+ dest
+ flags
+
+
public override
@@ -112,6 +121,8 @@
public override
Java.Lang.Object
+ public override
+ Java.Lang.Object
@@ -139,6 +150,7 @@
+
@@ -181,8 +193,6 @@
Java.Lang.Object
Java.Lang.Object
-
- ,
Java.Lang.Object
@@ -195,4 +205,11 @@
+
+
+
+
+
+ private
+
diff --git a/games/source/packages.config b/games/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/games/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/measurement/nuget/Xamarin.GooglePlayServices.Measurement.nuspec b/gass/nuget/Xamarin.GooglePlayServices.Gass.template.nuspec
similarity index 53%
rename from measurement/nuget/Xamarin.GooglePlayServices.Measurement.nuspec
rename to gass/nuget/Xamarin.GooglePlayServices.Gass.template.nuspec
index 2cbe27c09..1587aa418 100644
--- a/measurement/nuget/Xamarin.GooglePlayServices.Measurement.nuspec
+++ b/gass/nuget/Xamarin.GooglePlayServices.Gass.template.nuspec
@@ -1,26 +1,25 @@
- Xamarin.GooglePlayServices.Measurement
- Xamarin Google Play Services - Measurement
+ Xamarin.GooglePlayServices.Gass
+ Xamarin Google Play Services - Gass
$version$
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Measurement
+ Xamarin.Android Bindings for Google Play Services - Gass $aar-version$
- Xamarin.Android Bindings for Google Play Services - Measurement
+ Xamarin.Android Bindings for Google Play Services - Gass $aar-version$
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
https://github.com/xamarin/GooglePlayServicesComponents/
https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Measurement.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-gass_128x128.png
-
-
+
-
+
diff --git a/gass/source/Additions/AboutAdditions.txt b/gass/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/gass/source/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/gass/source/Gass.csproj b/gass/source/Gass.csproj
new file mode 100644
index 000000000..e4c387608
--- /dev/null
+++ b/gass/source/Gass.csproj
@@ -0,0 +1,80 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 8.0.30703
+ 2.0
+ {D705BF83-81FD-4CD9-AF3B-09C50FF42C83}
+ Library
+ GooglePlayServices.Gass
+ Resources
+ Assets
+ False
+ Xamarin.GooglePlayServices.Gass
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+
+
+
+ Jars\play-services-gass.jar
+
+
+
diff --git a/gass/source/Jars/AboutJars.txt b/gass/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/gass/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/measurement/source/Properties/AssemblyInfo.cs b/gass/source/Properties/AssemblyInfo.cs
similarity index 72%
rename from measurement/source/Properties/AssemblyInfo.cs
rename to gass/source/Properties/AssemblyInfo.cs
index c6daa8a65..07763ad5b 100644
--- a/measurement/source/Properties/AssemblyInfo.cs
+++ b/gass/source/Properties/AssemblyInfo.cs
@@ -5,12 +5,12 @@
// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.
-[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.Measurement")]
+[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.Gass")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("Xamarin")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
@@ -27,22 +27,22 @@
//[assembly: AssemblyKeyFile("")]
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS Measurement";
- public const string AarPath = "m2repository/com/google/android/gms/play-services-measurement/" + __GpsConsts.Version + "/play-services-measurement-" + __GpsConsts.Version + ".aar";
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-gass/" + __GpsConsts.Version + "/play-services-gass-" + __GpsConsts.Version + ".aar";
}
-
\ No newline at end of file
diff --git a/gass/source/Transforms/EnumFields.xml b/gass/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/gass/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/gass/source/Transforms/EnumMethods.xml b/gass/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/gass/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/gass/source/Transforms/Metadata.generated.xml b/gass/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/gass/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/gass/source/Transforms/Metadata.xml b/gass/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..bc58f47bc
--- /dev/null
+++ b/gass/source/Transforms/Metadata.xml
@@ -0,0 +1,20 @@
+
+
+ Android.Gms.Gass.Internal
+
+
+
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
diff --git a/gcm/component/component.template.yaml b/gcm/component/component.template.yaml
index ae3992f53..df2314160 100644
--- a/gcm/component/component.template.yaml
+++ b/gcm/component/component.template.yaml
@@ -4,16 +4,10 @@ id: googleplayservices-gcm
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: "Simple and reliable messaging to reach over a billion devices."
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-gcm_128x128.png
- - icons/googleplayservices-gcm_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Gcm.dll
- - ../../output/Xamarin.GooglePlayServices.Measurement.dll
+ - ../../icons/play-services-gcm_128x128.png
+ - ../../icons/play-services-gcm_512x512.png
is_shell: true
packages:
android:
@@ -22,16 +16,18 @@ samples:
- name: "GCM Sample"
path: ../../gcm/samples/GCMSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Gcm
- - Xamarin.GooglePlayServices.Measurement
+ - Base
+ - Basement
+ - Tasks
+ - Gcm
+ - Iid
installNuGets:
- project: GCMSample
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Gcm
- - Xamarin.GooglePlayServices.Measurement
+ - Xamarin.GooglePlayServices.Iid
local-nuget-repo: ../../output/
no_build: true
diff --git a/gcm/component/icons/googleplayservices-gcm_128x128.png b/gcm/component/icons/googleplayservices-gcm_128x128.png
deleted file mode 100644
index 3262767ce..000000000
Binary files a/gcm/component/icons/googleplayservices-gcm_128x128.png and /dev/null differ
diff --git a/gcm/component/icons/googleplayservices-gcm_512x512.png b/gcm/component/icons/googleplayservices-gcm_512x512.png
deleted file mode 100644
index cb4605638..000000000
Binary files a/gcm/component/icons/googleplayservices-gcm_512x512.png and /dev/null differ
diff --git a/gcm/nuget/Xamarin.GooglePlayServices.Gcm.nuspec b/gcm/nuget/Xamarin.GooglePlayServices.Gcm.template.nuspec
similarity index 75%
rename from gcm/nuget/Xamarin.GooglePlayServices.Gcm.nuspec
rename to gcm/nuget/Xamarin.GooglePlayServices.Gcm.template.nuspec
index c017593fe..a860c935c 100644
--- a/gcm/nuget/Xamarin.GooglePlayServices.Gcm.nuspec
+++ b/gcm/nuget/Xamarin.GooglePlayServices.Gcm.template.nuspec
@@ -7,25 +7,25 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - GCM
+ Xamarin.Android Bindings for Google Play Services - GCM $aar-version$
- Xamarin.Android Bindings for Google Play Services - GCM
+ Xamarin.Android Bindings for Google Play Services - GCM $aar-version$
Google Cloud Messaging (GCM) is a free service that enables developers to send messages between servers and client apps. This includes downstream messages from servers to client apps, and upstream messages from client apps to servers.
For example, a lightweight downstream message could inform a client app that there is new data to be fetched from the server, as in the case of a "new email" notification. For use cases such as instant messaging, a GCM message can transfer up to 4kb of payload to the client app. The GCM service handles all aspects of queueing of messages and delivery to and from the target client app.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-gcm/
http://components.xamarin.com/license/googleplayservices-gcm/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Gcm.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-gcm_128x128.png
-
+
-
+
diff --git a/gcm/samples/GCMSample.UITests/GCMSample.UITests.csproj b/gcm/samples/GCMSample.UITests/GCMSample.UITests.csproj
index f672982c5..6001887f6 100644
--- a/gcm/samples/GCMSample.UITests/GCMSample.UITests.csproj
+++ b/gcm/samples/GCMSample.UITests/GCMSample.UITests.csproj
@@ -29,12 +29,12 @@
-
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
-
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
diff --git a/gcm/samples/GCMSample.UITests/packages.config b/gcm/samples/GCMSample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/gcm/samples/GCMSample.UITests/packages.config
+++ b/gcm/samples/GCMSample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/gcm/samples/GCMSample.sln b/gcm/samples/GCMSample.sln
index e1901ec8e..18b734c62 100644
--- a/gcm/samples/GCMSample.sln
+++ b/gcm/samples/GCMSample.sln
@@ -11,7 +11,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\B
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Measurement", "..\..\measurement\source\Measurement.csproj", "{5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Iid", "..\..\iid\source\Iid.csproj", "{9F7F996D-AF44-4947-8392-07B3ED2ED00D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -27,10 +29,6 @@ Global
{3F6BAE25-ADEB-468C-8384-AD655623C341}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3F6BAE25-ADEB-468C-8384-AD655623C341}.Release|Any CPU.Build.0 = Release|Any CPU
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}.Release|Any CPU.Build.0 = Release|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -43,5 +41,13 @@ Global
{D16727E4-FD03-46F7-99C3-C1EC4D8F5016}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D16727E4-FD03-46F7-99C3-C1EC4D8F5016}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D16727E4-FD03-46F7-99C3-C1EC4D8F5016}.Release|Any CPU.Build.0 = Release|Any CPU
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/gcm/samples/GCMSample/GCMSample.csproj b/gcm/samples/GCMSample/GCMSample.csproj
index b2f619723..ac81825e2 100644
--- a/gcm/samples/GCMSample/GCMSample.csproj
+++ b/gcm/samples/GCMSample/GCMSample.csproj
@@ -13,9 +13,9 @@
Resource
Resources\Resource.designer.cs
True
- True
+ false
GCMSample
- v6.0
+ v7.0
armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
@@ -43,8 +43,23 @@
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -80,9 +95,13 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
-
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}
- Measurement
+
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D}
+ Iid
+
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
diff --git a/gcm/samples/GCMSample/MainActivity.cs b/gcm/samples/GCMSample/MainActivity.cs
index b7966783a..d8a551064 100644
--- a/gcm/samples/GCMSample/MainActivity.cs
+++ b/gcm/samples/GCMSample/MainActivity.cs
@@ -6,7 +6,7 @@
using Android.Views;
using Android.Widget;
using Android.OS;
-using Android.Gms.Gcm.Iid;
+using Android.Gms.Iid;
using Android.Gms.Gcm;
// @PACKAGE_NAME@ will inject your own package name into the value
diff --git a/gcm/samples/GCMSample/Properties/AndroidManifest.xml b/gcm/samples/GCMSample/Properties/AndroidManifest.xml
index 06937c5d4..6fa21246a 100644
--- a/gcm/samples/GCMSample/Properties/AndroidManifest.xml
+++ b/gcm/samples/GCMSample/Properties/AndroidManifest.xml
@@ -12,4 +12,5 @@
+
\ No newline at end of file
diff --git a/gcm/samples/GCMSample/Properties/AssemblyInfo.cs b/gcm/samples/GCMSample/Properties/AssemblyInfo.cs
index 69cc68153..851db1a9b 100644
--- a/gcm/samples/GCMSample/Properties/AssemblyInfo.cs
+++ b/gcm/samples/GCMSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("GCMSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/gcm/samples/GCMSample/packages.config b/gcm/samples/GCMSample/packages.config
index 01c2aac28..71e0c9953 100644
--- a/gcm/samples/GCMSample/packages.config
+++ b/gcm/samples/GCMSample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/gcm/source/Additions/Additions.cs b/gcm/source/Additions/Additions.cs
index 4434816db..9c5ee256b 100644
--- a/gcm/source/Additions/Additions.cs
+++ b/gcm/source/Additions/Additions.cs
@@ -2,42 +2,6 @@
using System.Threading.Tasks;
using Android.OS;
-namespace Android.Gms.Gcm.Iid
-{
- public partial class InstanceID
- {
- public const string IntentFilterAction = "com.google.android.gms.iid.InstanceID";
-
- public async Task GetTokenAsync (string authorizedEntity, string scope)
- {
- var taskCompletionSource = new TaskCompletionSource ();
-
- System.Threading.Tasks.Task.Factory.StartNew (() => {
- var token = this.GetToken (authorizedEntity, scope);
- taskCompletionSource.SetResult (token);
- }).ContinueWith (t => {
- taskCompletionSource.SetException (t.Exception);
- }, TaskContinuationOptions.OnlyOnFaulted);
-
- return await taskCompletionSource.Task;
- }
-
- public async Task GetTokenAsync (string authorizedEntity, string scope, Bundle extras)
- {
- var taskCompletionSource = new TaskCompletionSource ();
-
- System.Threading.Tasks.Task.Factory.StartNew (() => {
- var token = this.GetToken (authorizedEntity, scope, extras);
- taskCompletionSource.SetResult (token);
- }).ContinueWith (t => {
- taskCompletionSource.SetException (t.Exception);
- }, TaskContinuationOptions.OnlyOnFaulted);
-
- return await taskCompletionSource.Task;
- }
- }
-}
-
namespace Android.Gms.Gcm
{
public partial class GoogleCloudMessaging
diff --git a/gcm/source/Additions/Manifest.cs b/gcm/source/Additions/Manifest.cs
index a3118e8ae..d8607749e 100644
--- a/gcm/source/Additions/Manifest.cs
+++ b/gcm/source/Additions/Manifest.cs
@@ -1,17 +1,12 @@
-// using System;
-// using Android.Runtime;
-// using Android.App;
-// using Android.Content;
+using System;
+using Android.App;
-// [assembly: UsesPermission ("com.google.android.c2dm.permission.RECEIVE")]
+[assembly: UsesPermission ("com.google.android.c2dm.permission.RECEIVE")]
+[assembly: UsesPermission (Android.Manifest.Permission.Internet)]
// [assembly: Permission (Name="@PACKAGE_NAME@.permission.C2D_MESSAGE")]
// [assembly: UsesPermission ("@PACKAGE_NAME@.permission.C2D_MESSAGE")]
-// [assembly: UsesPermission (Android.Manifest.Permission.Internet)]
-// [assembly: UsesPermission (Android.Manifest.Permission.WakeLock)]
-
-
// namespace Android.Gms.Gcm
// {
// [Register ("com/google/android/gms/gcm/GcmReceiver", DoNotGenerateAcw=true)]
diff --git a/gcm/source/Gcm.csproj b/gcm/source/Gcm.csproj
index 63ce970e3..b0cf8723d 100644
--- a/gcm/source/Gcm.csproj
+++ b/gcm/source/Gcm.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{1CE82D7E-9EA1-435F-AF8C-5E07AB917617}
Library
GooglePlayServices.Gcm
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.Gcm
- v4.1
+ v7.0
+ jar2xml
..\..\externals\docs\reference
+ source
+ size
+ dest
+ flags
+
Android.Gms.Gcm.Task
Android.Gms.Gcm.Task.Builder
Android.Gms.Gcm.Task.Builder
diff --git a/gcm/source/packages.config b/gcm/source/packages.config
index 59cde6e53..71e0c9953 100644
--- a/gcm/source/packages.config
+++ b/gcm/source/packages.config
@@ -1,4 +1,9 @@
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/icons/play-services-gass_128x128.png b/icons/play-services-gass_128x128.png
new file mode 100644
index 000000000..7fb9cca55
Binary files /dev/null and b/icons/play-services-gass_128x128.png differ
diff --git a/icons/play-services-gass_512x512.png b/icons/play-services-gass_512x512.png
new file mode 100644
index 000000000..6ca1d30c5
Binary files /dev/null and b/icons/play-services-gass_512x512.png differ
diff --git a/icons/play-services-instantapps_128x128.png b/icons/play-services-instantapps_128x128.png
new file mode 100644
index 000000000..133377d2f
Binary files /dev/null and b/icons/play-services-instantapps_128x128.png differ
diff --git a/icons/play-services-instantapps_512x512.png b/icons/play-services-instantapps_512x512.png
new file mode 100644
index 000000000..d9fa1e315
Binary files /dev/null and b/icons/play-services-instantapps_512x512.png differ
diff --git a/icons/play-services-tagmanager-api_128x128.png b/icons/play-services-tagmanager-api_128x128.png
new file mode 100644
index 000000000..7fb9cca55
Binary files /dev/null and b/icons/play-services-tagmanager-api_128x128.png differ
diff --git a/icons/play-services-tagmanager-api_512x512.png b/icons/play-services-tagmanager-api_512x512.png
new file mode 100644
index 000000000..6ca1d30c5
Binary files /dev/null and b/icons/play-services-tagmanager-api_512x512.png differ
diff --git a/icons/play-services-tagmanager_128x128.png b/icons/play-services-tagmanager_128x128.png
new file mode 100644
index 000000000..7fb9cca55
Binary files /dev/null and b/icons/play-services-tagmanager_128x128.png differ
diff --git a/icons/play-services-tagmanager_512x512.png b/icons/play-services-tagmanager_512x512.png
new file mode 100644
index 000000000..6ca1d30c5
Binary files /dev/null and b/icons/play-services-tagmanager_512x512.png differ
diff --git a/identity/nuget/Xamarin.GooglePlayServices.Identity.nuspec b/identity/nuget/Xamarin.GooglePlayServices.Identity.template.nuspec
similarity index 72%
rename from identity/nuget/Xamarin.GooglePlayServices.Identity.nuspec
rename to identity/nuget/Xamarin.GooglePlayServices.Identity.template.nuspec
index 7328cd90a..373c9b76e 100644
--- a/identity/nuget/Xamarin.GooglePlayServices.Identity.nuspec
+++ b/identity/nuget/Xamarin.GooglePlayServices.Identity.template.nuspec
@@ -7,20 +7,20 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Identity
+ Xamarin.Android Bindings for Google Play Services - Identity $aar-version$
- Xamarin.Android Bindings for Google Play Services - Identity
+ Xamarin.Android Bindings for Google Play Services - Identity $aar-version$
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
https://github.com/xamarin/GooglePlayServicesComponents/
https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Identity.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-identity_128x128.png
-
+
diff --git a/identity/source/Identity.csproj b/identity/source/Identity.csproj
index 94759203d..d297c43f5 100644
--- a/identity/source/Identity.csproj
+++ b/identity/source/Identity.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{09362350-BB7F-4B4C-83B5-97F5C439B649}
Library
GooglePlayServices.Identity
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.Identity
- v4.1
+ v7.0
+ jar2xml
..\..\externals\docs\reference
+
+ source
+ size
+ dest
+ flags
+
diff --git a/identity/source/packages.config b/identity/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/identity/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/appstate/nuget/Xamarin.GooglePlayServices.AppState.nuspec b/iid/nuget/Xamarin.GooglePlayServices.Iid.template.nuspec
similarity index 50%
rename from appstate/nuget/Xamarin.GooglePlayServices.AppState.nuspec
rename to iid/nuget/Xamarin.GooglePlayServices.Iid.template.nuspec
index 830935cfd..addc798ff 100644
--- a/appstate/nuget/Xamarin.GooglePlayServices.AppState.nuspec
+++ b/iid/nuget/Xamarin.GooglePlayServices.Iid.template.nuspec
@@ -1,25 +1,26 @@
- Xamarin.GooglePlayServices.AppState
- Xamarin Google Play Services - AppState - DEPRECATED
+ Xamarin.GooglePlayServices.Iid
+ Xamarin Google Play Services - IID
$version$
Xamarin Inc.
Xamarin Inc.
true
+ Xamarin.Android Bindings for Google Play Services - IID $aar-version$
- DEPRECATED - Use Xamarin.GooglePlayServices.Games instead
+ Xamarin.Android Bindings for Google Play Services - IID $aar-version$
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
https://github.com/xamarin/GooglePlayServicesComponents/
- https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.AppState.png
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-iid_128x128.png
-
+
-
+
diff --git a/iid/source/Additions/AboutAdditions.txt b/iid/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/iid/source/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/iid/source/Additions/Additions.cs b/iid/source/Additions/Additions.cs
new file mode 100644
index 000000000..19bfbaafe
--- /dev/null
+++ b/iid/source/Additions/Additions.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Threading.Tasks;
+using Android.OS;
+
+namespace Android.Gms.Iid
+{
+ public partial class InstanceID
+ {
+ public const string IntentFilterAction = "com.google.android.gms.iid.InstanceID";
+
+ public async Task GetTokenAsync (string authorizedEntity, string scope)
+ {
+ var taskCompletionSource = new TaskCompletionSource ();
+
+ Task.Run (() => {
+ var token = this.GetToken (authorizedEntity, scope);
+ taskCompletionSource.SetResult (token);
+ }).ContinueWith (t => {
+ taskCompletionSource.SetException (t.Exception);
+ }, TaskContinuationOptions.OnlyOnFaulted);
+ return await taskCompletionSource.Task;
+ }
+
+ public async Task GetTokenAsync (string authorizedEntity, string scope, Bundle extras)
+ {
+ var taskCompletionSource = new TaskCompletionSource ();
+
+ Task.Run (() => {
+ var token = this.GetToken (authorizedEntity, scope, extras);
+ taskCompletionSource.SetResult (token);
+ }).ContinueWith (t => {
+ taskCompletionSource.SetException (t.Exception);
+ }, TaskContinuationOptions.OnlyOnFaulted);
+
+ return await taskCompletionSource.Task;
+ }
+ }
+}
diff --git a/iid/source/Additions/Manifest.cs b/iid/source/Additions/Manifest.cs
new file mode 100644
index 000000000..dc9623c32
--- /dev/null
+++ b/iid/source/Additions/Manifest.cs
@@ -0,0 +1,5 @@
+using System;
+using Android.App;
+
+[assembly: UsesPermission ("com.google.android.c2dm.permission.RECEIVE")]
+[assembly: UsesPermission (Android.Manifest.Permission.Internet)]
diff --git a/measurement/source/Measurement.csproj b/iid/source/Iid.csproj
similarity index 74%
rename from measurement/source/Measurement.csproj
rename to iid/source/Iid.csproj
index 0154f1798..6c7c1f6f0 100644
--- a/measurement/source/Measurement.csproj
+++ b/iid/source/Iid.csproj
@@ -3,22 +3,22 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- {5C4C77A3-4523-4E2B-895B-6EFE4A6A1617}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 8.0.30703
+ 2.0
+ {9F7F996D-AF44-4947-8392-07B3ED2ED00D}
Library
- GooglePlayServices.Measurement
+ GooglePlayServices.Iid
Resources
Assets
False
- Xamarin.GooglePlayServices.Measurement
- v4.1
- -XX:-UseSplitVerifier
+ Xamarin.GooglePlayServices.Iid
+ v7.0
+ class-parse
..\..\externals\docs\reference
- 8.0.30703
- 2.0
true
@@ -46,23 +46,20 @@
- ..\..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
-
-
-
Properties\GpsConsts.cs
+
-
@@ -71,15 +68,19 @@
-
- Jars\play-services-measurement.jar
-
-
-
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+
+ Jars\play-services-iid.jar
+
+
diff --git a/iid/source/Jars/AboutJars.txt b/iid/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/iid/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/appstate/source/Properties/AssemblyInfo.cs b/iid/source/Properties/AssemblyInfo.cs
similarity index 72%
rename from appstate/source/Properties/AssemblyInfo.cs
rename to iid/source/Properties/AssemblyInfo.cs
index c9fd4109b..a8aba0046 100644
--- a/appstate/source/Properties/AssemblyInfo.cs
+++ b/iid/source/Properties/AssemblyInfo.cs
@@ -5,12 +5,12 @@
// Information about this assembly is defined by the following attributes.
// Change them to the values specific to your project.
-[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.AppState")]
+[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.Iid")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("Xamarin")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
@@ -27,21 +27,22 @@
//[assembly: AssemblyKeyFile("")]
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS AppState";
- public const string AarPath = "m2repository/com/google/android/gms/play-services-appstate/" + __GpsConsts.Version + "/play-services-appstate-" + __GpsConsts.Version + ".aar";
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-iid/" + __GpsConsts.Version + "/play-services-iid-" + __GpsConsts.Version + ".aar";
}
diff --git a/iid/source/Transforms/EnumFields.xml b/iid/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/iid/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/iid/source/Transforms/EnumMethods.xml b/iid/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/iid/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/iid/source/Transforms/Metadata.generated.xml b/iid/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/iid/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/iid/source/Transforms/Metadata.xml b/iid/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..144b1b058
--- /dev/null
+++ b/iid/source/Transforms/Metadata.xml
@@ -0,0 +1,20 @@
+
+
+ Android.Gms.Iid
+
+
+
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
diff --git a/instantapps/nuget/Xamarin.GooglePlayServices.InstantApps.template.nuspec b/instantapps/nuget/Xamarin.GooglePlayServices.InstantApps.template.nuspec
new file mode 100644
index 000000000..01a535160
--- /dev/null
+++ b/instantapps/nuget/Xamarin.GooglePlayServices.InstantApps.template.nuspec
@@ -0,0 +1,26 @@
+
+
+
+ Xamarin.GooglePlayServices.InstantApps
+ Xamarin Google Play Services - InstantApps
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - InstantApps $aar-version$
+
+ Xamarin.Android Bindings for Google Play Services - InstantApps $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-instantapps_128x128.png
+
+
+
+
+
+
+
+
+
diff --git a/instantapps/source/InstantApps.csproj b/instantapps/source/InstantApps.csproj
new file mode 100644
index 000000000..2a4a11ca0
--- /dev/null
+++ b/instantapps/source/InstantApps.csproj
@@ -0,0 +1,76 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 8.0.30703
+ 2.0
+ {D7F811D2-C5E2-45BB-B7AB-88F7941A24B7}
+ Library
+ GooglePlayServices.InstantApps
+ Resources
+ Assets
+ False
+ Xamarin.GooglePlayServices.InstantApps
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+
+
+ Jars\play-services-instantapps.jar
+
+
+
+
+
+
\ No newline at end of file
diff --git a/instantapps/source/Properties/AssemblyInfo.cs b/instantapps/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..1dd6372c2
--- /dev/null
+++ b/instantapps/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.GooglePlayServices.InstantApps")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-instantapps/" + __GpsConsts.Version + "/play-services-instantapps-" + __GpsConsts.Version + ".aar";
+}
diff --git a/instantapps/source/Transforms/EnumFields.xml b/instantapps/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/instantapps/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/instantapps/source/Transforms/EnumMethods.xml b/instantapps/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/instantapps/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/instantapps/source/Transforms/Metadata.xml b/instantapps/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..6043a9d45
--- /dev/null
+++ b/instantapps/source/Transforms/Metadata.xml
@@ -0,0 +1,6 @@
+
+
+
+ Android.Gms.InstantApp
+ Android.Gms.Internal
+
diff --git a/location/component/component.template.yaml b/location/component/component.template.yaml
index 4d4f304e6..735b7a0ac 100644
--- a/location/component/component.template.yaml
+++ b/location/component/component.template.yaml
@@ -4,16 +4,10 @@ id: googleplayservices-location
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: "Add location awareness to your app with automated location tracking, geofencing, and activity recognition."
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-location_128x128.png
- - icons/googleplayservices-location_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Location.dll
- - ../../output/Xamarin.GooglePlayServices.Maps.dll
+ - ../../icons/play-services-location_128x128.png
+ - ../../icons/play-services-location_512x512.png
is_shell: true
packages:
android:
@@ -22,30 +16,16 @@ samples:
- name: "Location Sample"
path: ../../location/samples/LocationSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Location
- - Xamarin.GooglePlayServices.Maps
+ - Base
+ - Basement
+ - Tasks
+ - Location
installNuGets:
- project: LocationSample
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Location
- - Xamarin.GooglePlayServices.Maps
- - name: "Places Async Sample"
- path: ../../location/samples/PlacesAsync.sln
- removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Location
- - Xamarin.GooglePlayServices.Maps
- installNuGets:
- - project: PlacesAsync
- packages:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Location
- - Xamarin.GooglePlayServices.Maps
local-nuget-repo: ../../output/
no_build: true
diff --git a/location/component/icons/googleplayservices-location_128x128.png b/location/component/icons/googleplayservices-location_128x128.png
deleted file mode 100644
index b108cb25f..000000000
Binary files a/location/component/icons/googleplayservices-location_128x128.png and /dev/null differ
diff --git a/location/component/icons/googleplayservices-location_512x512.png b/location/component/icons/googleplayservices-location_512x512.png
deleted file mode 100644
index ba3b9b3aa..000000000
Binary files a/location/component/icons/googleplayservices-location_512x512.png and /dev/null differ
diff --git a/location/nuget/Xamarin.GooglePlayServices.Location.nuspec b/location/nuget/Xamarin.GooglePlayServices.Location.template.nuspec
similarity index 78%
rename from location/nuget/Xamarin.GooglePlayServices.Location.nuspec
rename to location/nuget/Xamarin.GooglePlayServices.Location.template.nuspec
index 8670b2602..45510d980 100644
--- a/location/nuget/Xamarin.GooglePlayServices.Location.nuspec
+++ b/location/nuget/Xamarin.GooglePlayServices.Location.template.nuspec
@@ -7,23 +7,22 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Location
+ Xamarin.Android Bindings for Google Play Services - Location $aar-version$
- Xamarin.Android Bindings for Google Play Services - Location
+ Xamarin.Android Bindings for Google Play Services - Location $aar-version$
One of the unique features of mobile applications is location awareness. Mobile users take their devices with them everywhere, and adding location awareness to your app offers users a more contextual experience. The location APIs available in Google Play services facilitate adding location awareness to your app with automated location tracking, geofencing, and activity recognition.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-location/
http://components.xamarin.com/license/googleplayservices-location/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Location.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-location_128x128.png
-
-
+
diff --git a/location/samples/LocationSample.UITests/LocationSample.UITests.csproj b/location/samples/LocationSample.UITests/LocationSample.UITests.csproj
index c49806018..65badd24d 100644
--- a/location/samples/LocationSample.UITests/LocationSample.UITests.csproj
+++ b/location/samples/LocationSample.UITests/LocationSample.UITests.csproj
@@ -29,12 +29,12 @@
-
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
-
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
diff --git a/location/samples/LocationSample.UITests/packages.config b/location/samples/LocationSample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/location/samples/LocationSample.UITests/packages.config
+++ b/location/samples/LocationSample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/location/samples/LocationSample.sln b/location/samples/LocationSample.sln
index 5d333badc..f1c0eb9a8 100644
--- a/location/samples/LocationSample.sln
+++ b/location/samples/LocationSample.sln
@@ -9,10 +9,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maps", "..\..\maps\source\Maps.csproj", "{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Location", "..\source\Location.csproj", "{F666DC89-9CE4-491C-8450-6FBC70298FA3}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -31,10 +31,6 @@ Global
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.Build.0 = Release|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.Build.0 = Release|Any CPU
{932C429C-CDF8-4AE8-82D0-54756054EA1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{932C429C-CDF8-4AE8-82D0-54756054EA1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{932C429C-CDF8-4AE8-82D0-54756054EA1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -43,5 +39,9 @@ Global
{F666DC89-9CE4-491C-8450-6FBC70298FA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F666DC89-9CE4-491C-8450-6FBC70298FA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F666DC89-9CE4-491C-8450-6FBC70298FA3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/location/samples/LocationSample/LocationSample.csproj b/location/samples/LocationSample/LocationSample.csproj
index 00eacd5aa..8af9b209a 100644
--- a/location/samples/LocationSample/LocationSample.csproj
+++ b/location/samples/LocationSample/LocationSample.csproj
@@ -15,7 +15,7 @@
True
False
LocationSample
- v4.2
+ v7.0
armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
@@ -43,8 +43,23 @@
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -77,13 +92,13 @@
{3F6BAE25-ADEB-468C-8384-AD655623C341}
Base
-
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}
- Maps
-
{F666DC89-9CE4-491C-8450-6FBC70298FA3}
Location
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
\ No newline at end of file
diff --git a/location/samples/LocationSample/Properties/AndroidManifest.xml b/location/samples/LocationSample/Properties/AndroidManifest.xml
index 14df3ceb3..5387a30e8 100644
--- a/location/samples/LocationSample/Properties/AndroidManifest.xml
+++ b/location/samples/LocationSample/Properties/AndroidManifest.xml
@@ -3,6 +3,7 @@
+
diff --git a/location/samples/LocationSample/Properties/AssemblyInfo.cs b/location/samples/LocationSample/Properties/AssemblyInfo.cs
index 0e230dcae..de4e62fe5 100644
--- a/location/samples/LocationSample/Properties/AssemblyInfo.cs
+++ b/location/samples/LocationSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("LocationSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/location/samples/LocationSample/packages.config b/location/samples/LocationSample/packages.config
index 01c2aac28..71e0c9953 100644
--- a/location/samples/LocationSample/packages.config
+++ b/location/samples/LocationSample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/location/samples/PlacesAsync/packages.config b/location/samples/PlacesAsync/packages.config
deleted file mode 100644
index 01c2aac28..000000000
--- a/location/samples/PlacesAsync/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/location/source/Additions/IPendingResultExtensions.cs b/location/source/Additions/IPendingResultExtensions.cs
index 478484dee..1c9819440 100644
--- a/location/source/Additions/IPendingResultExtensions.cs
+++ b/location/source/Additions/IPendingResultExtensions.cs
@@ -99,55 +99,3 @@ public static async Task CheckLocationSettingsAsync (thi
}
}
}
-
-namespace Android.Gms.Location.Places
-{
- public static partial class IGeoDataApiExtensions
- {
- public static async Task AddPlaceAsync (this IGeoDataApi api, GoogleApiClient client, AddPlaceRequest addPlaceRequest)
- {
- return (await api.AddPlace (client, addPlaceRequest)).JavaCast ();
- }
-
- public static async Task GetAutocompletePredictionsAsync (this IGeoDataApi api, GoogleApiClient client, string query, Android.Gms.Maps.Model.LatLngBounds bounds, AutocompleteFilter filter)
- {
- return (await api.GetAutocompletePredictions (client, query, bounds, filter)).JavaCast ();
- }
-
- public static async Task GetPlaceByIdAsync (this IGeoDataApi api, GoogleApiClient client, params string[] placeIds)
- {
- return (await api.GetPlaceById (client, placeIds)).JavaCast ();
- }
-
- public static async Task GetPlacePhotosAsync (this IGeoDataApi api, GoogleApiClient client, string placeId)
- {
- return (await api.GetPlacePhotos (client, placeId)).JavaCast ();
- }
- }
-
- public static partial class IPlaceDetectionApiExtensions
- {
- public static async Task GetCurrentPlaceAsync (this IPlaceDetectionApi api, GoogleApiClient client, PlaceFilter filter)
- {
- return (await api.GetCurrentPlace (client, filter)).JavaCast ();
- }
-
- public static async Task ReportDeviceAtPlaceAsync (this IPlaceDetectionApi api, GoogleApiClient client, PlaceReport report)
- {
- return (await api.ReportDeviceAtPlace (client, report)).JavaCast ();
- }
- }
-
- public static partial class IPlacePhotoMetadataExtensions
- {
- public static async Task GetPhotoAsync (this IPlacePhotoMetadata api, GoogleApiClient client)
- {
- return (await api.GetPhoto (client)).JavaCast ();
- }
-
- public static async Task GetScaledPhotoAsync (this IPlacePhotoMetadata api, GoogleApiClient client, int width, int height)
- {
- return (await api.GetScaledPhoto (client, width, height)).JavaCast ();
- }
- }
-}
\ No newline at end of file
diff --git a/location/source/Location.csproj b/location/source/Location.csproj
index 683f4aeb0..dcd92a39c 100644
--- a/location/source/Location.csproj
+++ b/location/source/Location.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{F666DC89-9CE4-491C-8450-6FBC70298FA3}
Library
GooglePlayServices.Location
@@ -11,12 +11,14 @@
Assets
False
Xamarin.GooglePlayServices.Location
- v4.1
- -XX:-UseSplitVerifier
+ v7.0
+ class-parse
..\..\externals\docs\reference
+ 8.0.30703
+ 2.0
true
@@ -44,7 +46,7 @@
- ..\..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
@@ -52,7 +54,6 @@
-
Properties\GpsConsts.cs
@@ -60,7 +61,6 @@
-
@@ -78,14 +78,10 @@
{3F6BAE25-ADEB-468C-8384-AD655623C341}
Base
-
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}
- Maps
-
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
-
\ No newline at end of file
+
diff --git a/location/source/Properties/AssemblyInfo.cs b/location/source/Properties/AssemblyInfo.cs
index 17f66b370..e54629141 100644
--- a/location/source/Properties/AssemblyInfo.cs
+++ b/location/source/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.Location")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("Xamarin")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
@@ -27,21 +27,22 @@
//[assembly: AssemblyKeyFile("")]
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS Location";
public const string AarPath = "m2repository/com/google/android/gms/play-services-location/" + __GpsConsts.Version + "/play-services-location-" + __GpsConsts.Version + ".aar";
}
diff --git a/location/source/Transforms/Metadata.generated.xml b/location/source/Transforms/Metadata.generated.xml
index d3d0904d6..26c2f6238 100644
--- a/location/source/Transforms/Metadata.generated.xml
+++ b/location/source/Transforms/Metadata.generated.xml
@@ -1,483 +1,2 @@
- oValue
- output
- client
- callbackIntent
- client
- detectionIntervalMillis
- callbackIntent
- versionCode
- probableActivities
- timeMillis
- elapsedRealtimeMillis
- detectorInfoId
- extras
- mostProbableActivity
- time
- elapsedRealtimeMillis
- mostProbableActivity
- time
- elapsedRealtimeMillis
- detectorInfoId
- extra
- probableActivities
- time
- elapsedRealtimeMillis
- probableActivities
- time
- elapsedRealtimeMillis
- detectorInfoId
- extras
- oValue
- intent
- activityType
- intent
- output
- flags
- parcel
- sizeValue
- activityType
- confidence
- versionCode
- activityType
- confidence
- oValue
- output
- flags
- parcel
- sizeValue
- client
- client
- client
- client
- callbackIntent
- client
- callback
- client
- listener
- client
- request
- callbackIntent
- client
- request
- callback
- looper
- client
- request
- listener
- client
- request
- listener
- looper
- client
- mockLocation
- client
- isMockMode
- latitude
- longitude
- radius
- durationMillis
- loiteringDelayMs
- notificationResponsivenessMs
- requestId
- transitionTypes
- statusCode
- client
- geofencingRequest
- pendingIntent
- client
- geofences
- pendingIntent
- client
- pendingIntent
- client
- geofenceRequestIds
- intent
- dest
- flags
- geofence
- geofences
- initialTrigger
- output
- flags
- other
- intent
- intent
- parcel
- flags
- parcel
- sizeValue
- locationAvailability
- result
- objectValue
- millis
- millis
- millis
- millis
- millis
- numUpdates
- priority
- smallestDisplacementMeters
- parcel
- flags
- parcel
- sizeValue
- locations
- other
- intent
- intent
- parcel
- flags
- dest
- flags
- requests
- request
- show
- needBle
- status
- dest
- flags
- intent
- dest
- flags
- client
- request
- state
- result
- code
- data
- reply
- flags
- location
- code
- data
- reply
- flags
- oValue
- parcel
- flags
- status
- dest
- flags
- other
- parcel
- flags
- parcel
- flags
- version
- requestId
- transitionTypes
- theType
- latitude
- longitude
- radius
- expireAt
- notificationResponsiveness
- loiteringDelayMillis
- requestId
- transitionTypes
- theType
- latitude
- longitude
- radius
- expireAt
- notificationResponsiveness
- loiteringDelayMillis
- objValue
- parcel
- flags
- client
- callbackIntent
- client
- detectionIntervalMillis
- callbackIntent
- client
- client
- client
- client
- callbackIntent
- client
- callback
- client
- listener
- client
- request
- callbackIntent
- client
- request
- callback
- looper
- client
- request
- listener
- client
- request
- listener
- looper
- client
- mockLocation
- client
- isMockMode
- client
- geofencingRequest
- pendingIntent
- client
- geofences
- pendingIntent
- client
- pendingIntent
- client
- geofenceRequestIds
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- client
- request
- nameValue
- latLng
- address
- placeTypes
- uri
- nameValue
- latLng
- address
- placeTypes
- phoneNumber
- nameValue
- latLng
- address
- placeTypes
- phoneNumber
- uri
- parcel
- flags
- placeTypes
- objectValue
- parcel
- flags
- typeFilter
- matchStyle
- matchStyle
- matchStyle
- dataHolder
- position
- client
- addPlaceRequest
- client
- query
- bounds
- filter
- client
- placeIds
- client
- placeId
- objectValue
- parcel
- flags
- objectValue
- parcel
- flags
- dataHolder
- context
- position
- client
- filter
- client
- report
- restrictToPlaceTypes
- requireOpenNow
- restrictToPlaceIds
- requestedUserDataTypes
- requireOpenNow
- restrictToPlaceIds
- objectValue
- parcel
- flags
- dataHolder
- source
- context
- position
- client
- client
- width
- height
- dataHolder
- position
- status
- dataHolder
- parcel
- flags
- status
- teleporter
- parcel
- flags
- placeId
- tag
- that
- output
- flags
- versionCode
- filter
- interval
- priority
- expireAt
- objectValue
- parcel
- flags
- statusCode
- objectValue
- parcel
- flags
- objectValue
- matchStyle
- matchStyle
- matchStyle
- parcel
- flags
- versionCode
- offset
- length
- objectValue
- parcel
- flags
- objectValue
- locale
- parcel
- flags
- objectValue
- parcel
- flags
- versionCode
- nameValue
- address
- internationalPhoneNumber
- regularOpenHours
- attributions
- objectValue
- parcel
- flags
- versionCode
- clientPackageName
- localeString
- accountName
- gCoreClientName
- gCoreClientJarVersion
- requestSource
- clientPackageName
- locale
- accountName
- clientPackageName
- locale
- accountName
- gCoreClientName
- requestSource
- objectValue
- output
- flags
- matchStyle
- matchStyle
- matchStyle
- client
- addPlaceRequest
- client
- query
- bounds
- filter
- client
- placeIds
- client
- placeId
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- client
- filter
- client
- report
- other
- client
- client
- width
- height
- client
- client
- width
- height
- objectValue
- parcel
- flags
- parcel
- flags
- objectValue
- parcel
- flags
- code
- data
- reply
- flags
- context
- intent
- context
- intent
- mode
- activity
- bounds
- filter
- requestCode
- resultCode
- data
- inflater
- container
- savedInstanceState
- bounds
- filter
- hint
- listener
- text
- intent
- intent
- context
- intent
- intent
- context
- activity
- latLngBounds
- requestCode
- resultCode
- data
- inflater
- container
- savedInstanceState
- bounds
- filter
- hint
- listener
- text
- activity
diff --git a/location/source/Transforms/Metadata.xml b/location/source/Transforms/Metadata.xml
index 9ccc6f902..29724c3f0 100644
--- a/location/source/Transforms/Metadata.xml
+++ b/location/source/Transforms/Metadata.xml
@@ -3,10 +3,10 @@
Android.Gms.Location
Android.Gms.Location.Internal
- Android.Gms.Location.Places
+
PlacesClass
@@ -24,11 +24,18 @@
+
+ source
+ size
+ dest
+ flags
+
-
+
+
location
diff --git a/location/source/packages.config b/location/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/location/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/maps/component/component.template.yaml b/maps/component/component.template.yaml
index c91713231..f53418ac2 100644
--- a/maps/component/component.template.yaml
+++ b/maps/component/component.template.yaml
@@ -4,15 +4,10 @@ id: googleplayservices-maps
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: "Add custom markers, styled maps, 3D buildings, indoor floor plans, street view, satellite imagery, and more to your Android app."
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-maps_128x128.png
- - icons/googleplayservices-maps_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Maps.dll
+ - ../../icons/play-services-maps_128x128.png
+ - ../../icons/play-services-maps_512x512.png
is_shell: true
packages:
android:
@@ -21,14 +16,16 @@ samples:
- name: "Maps Sample"
path: ../../maps/samples/MapsSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Maps
+ - Base
+ - Basement
+ - Tasks
+ - Maps
installNuGets:
- project: MapsSample
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Maps
local-nuget-repo: ../../output/
no_build: true
diff --git a/maps/component/icons/googleplayservices-maps_128x128.png b/maps/component/icons/googleplayservices-maps_128x128.png
deleted file mode 100644
index 3340de1b5..000000000
Binary files a/maps/component/icons/googleplayservices-maps_128x128.png and /dev/null differ
diff --git a/maps/component/icons/googleplayservices-maps_512x512.png b/maps/component/icons/googleplayservices-maps_512x512.png
deleted file mode 100644
index a3f934dd5..000000000
Binary files a/maps/component/icons/googleplayservices-maps_512x512.png and /dev/null differ
diff --git a/maps/nuget/Xamarin.GooglePlayServices.Maps.nuspec b/maps/nuget/Xamarin.GooglePlayServices.Maps.template.nuspec
similarity index 76%
rename from maps/nuget/Xamarin.GooglePlayServices.Maps.nuspec
rename to maps/nuget/Xamarin.GooglePlayServices.Maps.template.nuspec
index 1d2e6d684..3c76560aa 100644
--- a/maps/nuget/Xamarin.GooglePlayServices.Maps.nuspec
+++ b/maps/nuget/Xamarin.GooglePlayServices.Maps.template.nuspec
@@ -7,23 +7,22 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Maps
+ Xamarin.Android Bindings for Google Play Services - Maps $aar-version$
- Xamarin.Android Bindings for Google Play Services - Maps
+ Xamarin.Android Bindings for Google Play Services - Maps $aar-version$
With the Google Maps Android API, you can add maps based on Google Maps data to your application. The API automatically handles access to Google Maps servers, data downloading, map display, and response to map gestures. You can also use API calls to add markers, polygons, and overlays to a basic map, and to change the user's view of a particular map area. These objects provide additional information for map locations, and allow user interaction with the map.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-maps/
http://components.xamarin.com/license/googleplayservices-maps/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Maps.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-maps_128x128.png
-
-
+
diff --git a/maps/samples/MapsSample.UITests/MapsSample.UITests.csproj b/maps/samples/MapsSample.UITests/MapsSample.UITests.csproj
index d25c87787..85e488ceb 100644
--- a/maps/samples/MapsSample.UITests/MapsSample.UITests.csproj
+++ b/maps/samples/MapsSample.UITests/MapsSample.UITests.csproj
@@ -33,7 +33,7 @@
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
diff --git a/maps/samples/MapsSample.UITests/Tests.cs b/maps/samples/MapsSample.UITests/Tests.cs
index 05b4efb8f..b26fd4211 100644
--- a/maps/samples/MapsSample.UITests/Tests.cs
+++ b/maps/samples/MapsSample.UITests/Tests.cs
@@ -64,9 +64,9 @@ public void CameraControls ()
pause ();
app.Screenshot ("Scroll Down");
- app.Tap (q => q.Id ("scroll_right"));
- pause ();
- app.Screenshot ("Scroll Right");
+ // app.Tap (q => q.Id ("scroll_right"));
+ // pause ();
+ // app.Screenshot ("Scroll Right");
app.Tap (q => q.Id ("tilt_more"));
pause ();
@@ -127,7 +127,7 @@ public void LayersDemo ()
app.WaitForElement (q => q.Id ("map"));
app.Screenshot ("Map");
- //app.Device.SetLocation (37.7842, -122.4016);
+ app.Device.SetLocation (37.7842, -122.4016);
app.Tap (q => q.Id ("my_location"));
app.WaitForElement (q => q.Class ("ImageView").Marked ("My Location"));
diff --git a/maps/samples/MapsSample.UITests/packages.config b/maps/samples/MapsSample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/maps/samples/MapsSample.UITests/packages.config
+++ b/maps/samples/MapsSample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/maps/samples/MapsSample.sln b/maps/samples/MapsSample.sln
index 527fa17b9..b6fe00f3a 100644
--- a/maps/samples/MapsSample.sln
+++ b/maps/samples/MapsSample.sln
@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maps", "..\source\Maps.cspr
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\Basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -37,5 +39,9 @@ Global
{8F7D2AC9-C3BB-4698-886C-610A582691E4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8F7D2AC9-C3BB-4698-886C-610A582691E4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8F7D2AC9-C3BB-4698-886C-610A582691E4}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/maps/samples/MapsSample/MapsSample.csproj b/maps/samples/MapsSample/MapsSample.csproj
index 709f3d703..b7ce6fb5f 100644
--- a/maps/samples/MapsSample/MapsSample.csproj
+++ b/maps/samples/MapsSample/MapsSample.csproj
@@ -13,9 +13,10 @@
Resource
Resources\Resource.designer.cs
True
- True
+ false
MapsSample
- v5.1
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
full
@@ -37,7 +37,6 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
@@ -45,8 +44,23 @@
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -140,7 +154,7 @@
-
+
{3F6BAE25-ADEB-468C-8384-AD655623C341}
@@ -154,5 +168,9 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
\ No newline at end of file
diff --git a/maps/samples/MapsSample/Properties/AssemblyInfo.cs b/maps/samples/MapsSample/Properties/AssemblyInfo.cs
index 5aca526e8..bf5bc7e7b 100644
--- a/maps/samples/MapsSample/Properties/AssemblyInfo.cs
+++ b/maps/samples/MapsSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("MapsSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/maps/samples/MapsSample/packages.config b/maps/samples/MapsSample/packages.config
index 6cb850330..71e0c9953 100644
--- a/maps/samples/MapsSample/packages.config
+++ b/maps/samples/MapsSample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/maps/source/Additions/Additions.cs b/maps/source/Additions/Additions.cs
new file mode 100644
index 000000000..a7407c05b
--- /dev/null
+++ b/maps/source/Additions/Additions.cs
@@ -0,0 +1,27 @@
+using System;
+using Android.Runtime;
+
+namespace Android.Gms.Maps.Model
+{
+
+ public partial class Polygon
+ {
+ static IntPtr id_setHoles_Ljava_util_List_;
+ // Metadata.xml XPath method reference: path="/api/package[@name='com.google.android.gms.maps.model']/class[@name='Polygon']/method[@name='setHoles' and count(parameter)=1 and parameter[1][@type='java.util.List<>']]"
+ [Register ("setHoles", "(Ljava/util/List;)V", "")]
+ public unsafe void SetHoles (global::System.Collections.Generic.IList holes)
+ {
+ if (id_setHoles_Ljava_util_List_ == IntPtr.Zero)
+ id_setHoles_Ljava_util_List_ = JNIEnv.GetMethodID (class_ref, "setHoles", "(Ljava/util/List;)V");
+ IntPtr native_holes = global::Android.Runtime.JavaList.ToLocalJniHandle (holes);
+ try {
+ JValue* __args = stackalloc JValue [1];
+ __args [0] = new JValue (native_holes);
+ JNIEnv.CallVoidMethod (Handle, id_setHoles_Ljava_util_List_, __args);
+ } finally {
+ JNIEnv.DeleteLocalRef (native_holes);
+ }
+ }
+ }
+}
+
diff --git a/maps/source/Maps.csproj b/maps/source/Maps.csproj
index 9e087996f..a8d0d46a7 100644
--- a/maps/source/Maps.csproj
+++ b/maps/source/Maps.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}
Library
GooglePlayServices.Maps
@@ -11,11 +11,14 @@
Assets
False
Xamarin.GooglePlayServices.Maps
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
+ 8.0.30703
+ 2.0
true
@@ -42,8 +45,24 @@
+
+ ..\..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+ False
@@ -53,6 +72,7 @@
Properties\GpsConsts.cs
+
diff --git a/maps/source/Properties/AssemblyInfo.cs b/maps/source/Properties/AssemblyInfo.cs
index 2cf220000..4d7be9421 100644
--- a/maps/source/Properties/AssemblyInfo.cs
+++ b/maps/source/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.Maps")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("Xamarin")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
@@ -27,21 +27,22 @@
//[assembly: AssemblyKeyFile("")]
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS Maps";
public const string AarPath = "m2repository/com/google/android/gms/play-services-maps/" + __GpsConsts.Version + "/play-services-maps-" + __GpsConsts.Version + ".aar";
}
diff --git a/maps/source/Transforms/Metadata.generated.xml b/maps/source/Transforms/Metadata.generated.xml
index 20b1a6975..26c2f6238 100644
--- a/maps/source/Transforms/Metadata.generated.xml
+++ b/maps/source/Transforms/Metadata.generated.xml
@@ -1,794 +1,2 @@
- cameraPosition
- latLng
- bounds
- padding
- bounds
- width
- height
- padding
- latLng
- zoom
- xPixel
- yPixel
- amount
- amount
- focus
- zoom
- map
- options
- options
- options
- options
- options
- options
- update
- update
- durationMs
- callback
- update
- callback
- update
- enabled
- description
- enabled
- adapter
- source
- theType
- enabled
- listener
- listener
- listener
- listener
- listener
- listener
- listener
- callback
- listener
- listener
- listener
- listener
- listener
- listener
- listener
- left
- top
- right
- bottom
- enabled
- callback
- callback
- bitmap
- enabled
- camera
- enabled
- context
- attrs
- enabled
- enabled
- mapType
- enabled
- enabled
- enabled
- useViewLifecycleInFragment
- output
- flags
- enabled
- enabled
- zOrderOnTop
- location
- callback
- options
- savedInstanceState
- activity
- savedInstanceState
- inflater
- container
- savedInstanceState
- ambientDetails
- activity
- attrs
- savedInstanceState
- outState
- args
- context
- context
- context
- attrs
- context
- attrs
- defStyle
- context
- options
- callback
- savedInstanceState
- ambientDetails
- outState
- point
- location
- sv
- camera
- duration
- orientation
- point
- listener
- listener
- listener
- listener
- enablePanning
- position
- position
- radius
- panoId
- enableStreetNames
- enableUserNavigation
- enableZoom
- callback
- options
- savedInstanceState
- activity
- savedInstanceState
- inflater
- container
- savedInstanceState
- activity
- attrs
- savedInstanceState
- outState
- args
- enabled
- camera
- panoId
- position
- position
- radius
- enabled
- enabled
- useViewLifecycleInFragment
- output
- flags
- enabled
- context
- context
- attrs
- context
- attrs
- defStyle
- context
- options
- callback
- savedInstanceState
- outState
- callback
- options
- savedInstanceState
- activity
- savedInstanceState
- inflater
- container
- savedInstanceState
- ambientDetails
- activity
- attrs
- savedInstanceState
- outState
- args
- callback
- options
- savedInstanceState
- activity
- savedInstanceState
- inflater
- container
- savedInstanceState
- activity
- attrs
- savedInstanceState
- outState
- args
- enabled
- enabled
- enabled
- enabled
- enabled
- enabled
- enabled
- enabled
- enabled
- enabled
- cameraPosition
- latLng
- bounds
- padding
- bounds
- width
- height
- padding
- latLng
- zoom
- xPixel
- yPixel
- amount
- amount
- screenFocusX
- screenFocusY
- zoom
- code
- data
- reply
- flags
- options
- options
- options
- options
- options
- options
- update
- update
- callback
- update
- durationMs
- callback
- callback
- update
- bundle
- ambientDetails
- outState
- enabled
- description
- enabled
- adapter
- source
- theType
- enabled
- listener
- listener
- listener
- listener
- listener
- listener
- listener
- callback
- listener
- listener
- listener
- listener
- listener
- listener
- listener
- listener
- left
- top
- right
- bottom
- enabled
- callback
- bitmap
- code
- data
- reply
- flags
- listener
- code
- data
- reply
- flags
- callback
- savedInstanceState
- inflaterWrapper
- containerWrapper
- savedInstanceState
- ambientDetails
- activityWrapper
- options
- savedInstanceState
- outState
- code
- data
- reply
- flags
- callback
- savedInstanceState
- ambientDetails
- outState
- code
- data
- reply
- flags
- point
- location
- code
- data
- reply
- flags
- camera
- duration
- enablePanning
- enableStreetNames
- enableUserNavigation
- enableZoom
- orientation
- point
- listener
- listener
- listener
- listener
- position
- panoId
- position
- radius
- code
- data
- reply
- flags
- callback
- savedInstanceState
- inflaterWrapper
- containerWrapper
- savedInstanceState
- activityWrapper
- options
- savedInstanceState
- outState
- code
- data
- reply
- flags
- callback
- savedInstanceState
- outState
- code
- data
- reply
- flags
- enabled
- enabled
- enabled
- enabled
- enabled
- enabled
- enabled
- enabled
- enabled
- enabled
- code
- data
- reply
- flags
- callback
- callback
- code
- data
- reply
- flags
- snapshot
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- resources
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- position
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- point
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- point
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- camera
- code
- data
- reply
- flags
- location
- code
- data
- reply
- flags
- orientation
- code
- data
- reply
- flags
- orientation
- code
- data
- reply
- flags
- remoteObject
- hue
- assetName
- image
- fileName
- absolutePath
- resourceId
- target
- zoom
- tilt
- bearing
- camera
- context
- attrs
- oValue
- target
- zoom
- output
- flags
- previous
- bearing
- location
- tilt
- zoom
- delegateValue
- other
- center
- color
- radius
- color
- width
- visible
- zIndex
- center
- color
- radius
- color
- width
- visible
- output
- flags
- zIndex
- delegateValue
- other
- bearing
- clickable
- width
- width
- height
- image
- latLng
- bounds
- transparency
- visible
- zIndex
- uValue
- vValue
- bearing
- clickable
- image
- location
- width
- location
- width
- height
- bounds
- transparency
- visible
- output
- flags
- zIndex
- delegateValue
- other
- delegateValue
- other
- latitude
- longitude
- oValue
- output
- flags
- southwest
- northeast
- point
- oValue
- point
- output
- flags
- point
- delegateValue
- other
- alpha
- anchorU
- anchorV
- draggable
- flat
- icon
- anchorU
- anchorV
- latlng
- rotation
- snippet
- title
- visible
- alpha
- uValue
- vValue
- draggable
- flat
- icon
- uValue
- vValue
- position
- rotation
- snippet
- title
- visible
- output
- flags
- output
- flags
- delegateValue
- other
- clickable
- color
- geodesic
- holes
- points
- color
- width
- visible
- zIndex
- point
- points
- points
- points
- clickable
- color
- geodesic
- color
- width
- visible
- output
- flags
- zIndex
- delegateValue
- other
- clickable
- color
- geodesic
- points
- visible
- width
- zIndex
- point
- points
- points
- clickable
- color
- geodesic
- visible
- width
- output
- flags
- zIndex
- eValue
- zoom
- tilt
- bearing
- camera
- oValue
- output
- flags
- previous
- bearing
- orientation
- tilt
- zoom
- oValue
- output
- flags
- links
- position
- panoId
- oValue
- output
- flags
- tilt
- bearing
- orientation
- oValue
- output
- flags
- previous
- bearing
- tilt
- width
- height
- data
- output
- flags
- delegateValue
- other
- fadeIn
- visible
- zIndex
- fadeIn
- tileProvider
- visible
- output
- flags
- zIndex
- xValue
- yValue
- zoom
- width
- height
- xValue
- yValue
- zoom
- nearLeft
- nearRight
- farLeft
- farRight
- latLngBounds
- oValue
- output
- flags
- other
- clickable
- color
- geodesic
- points
- visible
- width
- zIndex
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- center
- color
- radius
- color
- width
- visible
- zIndex
- code
- data
- reply
- flags
- bearing
- clickable
- width
- latlng
- bounds
- transparency
- visible
- zIndex
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- alpha
- anchorU
- anchorV
- draggable
- flat
- anchorU
- anchorV
- latlng
- rotation
- snippet
- title
- visible
- code
- data
- reply
- flags
- clickable
- color
- geodesic
- holes
- points
- color
- width
- visible
- zIndex
- code
- data
- reply
- flags
- fadeIn
- visible
- zIndex
- code
- data
- reply
- flags
- xValue
- yValue
- zoom
- code
- data
- reply
- flags
diff --git a/maps/source/Transforms/Metadata.xml b/maps/source/Transforms/Metadata.xml
index 16ebfb0a6..f1448a026 100644
--- a/maps/source/Transforms/Metadata.xml
+++ b/maps/source/Transforms/Metadata.xml
@@ -35,6 +35,12 @@
+
+ source
+ size
+ dest
+ flags
+
@@ -70,4 +76,6 @@
+
+
diff --git a/maps/source/packages.config b/maps/source/packages.config
index 59cde6e53..71e0c9953 100644
--- a/maps/source/packages.config
+++ b/maps/source/packages.config
@@ -1,4 +1,9 @@
-
+
+
+
+
+
+
\ No newline at end of file
diff --git a/measurement/source/Additions/DataBufferAdditions.cs b/measurement/source/Additions/DataBufferAdditions.cs
deleted file mode 100644
index 0d3af0772..000000000
--- a/measurement/source/Additions/DataBufferAdditions.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-using System.Linq;
-using System.Collections.Generic;
-
-namespace Android.Gms.Common.Data
-{
- //Android.Gms.Common.Data -> AbstractDataBuffer
-// public partial class AbstractDataBuffer : IEnumerable
-// {
-// public IEnumerator GetEnumerator()
-// {
-// return this.ToEnumerable ().GetEnumerator();
-// }
-//
-// System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
-// {
-// return this.GetEnumerator();
-// }
-// }
-}
-
diff --git a/measurement/source/Additions/IPendingResultExtensions.cs b/measurement/source/Additions/IPendingResultExtensions.cs
deleted file mode 100644
index c53363d47..000000000
--- a/measurement/source/Additions/IPendingResultExtensions.cs
+++ /dev/null
@@ -1,39 +0,0 @@
-//using System;
-//using System.Threading.Tasks;
-//using Android.Gms.Common.Apis;
-//using Android.Gms.Common;
-//using Android.Runtime;
-//
-//namespace Android.Gms.Auth.Api.Credentials
-//{
-// public static partial class ICredentialsApiExtensions
-// {
-// public static async Task DeleteAsync (this ICredentialsApi api, IGoogleApiClient client, Credential credential)
-// {
-// return (await api.Delete (client, credential)).JavaCast ();
-// }
-// public static async Task DisableAutoSignInAsync (this ICredentialsApi api, IGoogleApiClient client)
-// {
-// return (await api.DisableAutoSignIn (client)).JavaCast ();
-// }
-// public static async Task RequestAsync (this ICredentialsApi api, IGoogleApiClient client, CredentialRequest request)
-// {
-// return (await api.Request (client, request)).JavaCast ();
-// }
-// public static async Task SaveAsync (this ICredentialsApi api, IGoogleApiClient client, Credential credential)
-// {
-// return (await api.Save (client, credential)).JavaCast ();
-// }
-// }
-//}
-//
-//namespace Android.Gms.Auth.Api.Proxy
-//{
-// public static partial class IProxyApiExtensions
-// {
-// public static async Task PerformProxyRequestAsync (this IProxyApi api, IGoogleApiClient client, Android.Gms.Auth.Api.Proxy.ProxyRequest request)
-// {
-// return (await api.PerformProxyRequest (client, request)).JavaCast ();
-// }
-// }
-//}
diff --git a/measurement/source/Additions/Manifest.cs b/measurement/source/Additions/Manifest.cs
deleted file mode 100644
index 558117b30..000000000
--- a/measurement/source/Additions/Manifest.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using System;
-using Android.Runtime;
-using Android.App;
-using Android.Content;
-
-[assembly: UsesPermission (Android.Manifest.Permission.Internet)]
-[assembly: UsesPermission (Android.Manifest.Permission.AccessNetworkState)]
-[assembly: UsesPermission (Android.Manifest.Permission.WakeLock)]
-
-namespace Android.Gms.Measurement
-{
-
-//
- [ContentProvider (new [] { "${applicationId}.google_measurement_service" },
- Name="com.google.android.gms.measurement.AppMeasurementContentProvider",
- Exported=false)]
- partial class AppMeasurementContentProvider {}
-
- [Service (
- Name="com.google.android.gms.measurement.AppMeasurementService",
- Enabled=true,
- Exported =false)]
- partial class AppMeasurementService { }
-
-//
-//
-//
-//
-//
- [BroadcastReceiver (
- Name="com.google.android.gms.measurement.AppMeasurementReceiver",
- Enabled=true)]
- [IntentFilter (new [] { "com.google.android.gms.measurement.UPLOAD" })]
- partial class AppMeasurementReceiver { }
-}
diff --git a/measurement/source/Additions/ResultCallbackImpl.cs b/measurement/source/Additions/ResultCallbackImpl.cs
deleted file mode 100644
index b9ce5dd97..000000000
--- a/measurement/source/Additions/ResultCallbackImpl.cs
+++ /dev/null
@@ -1,158 +0,0 @@
-//using System;
-//using Android.Runtime;
-//using Java.Util.Concurrent;
-//using Android.OS;
-//using System.Threading.Tasks;
-//using System.Runtime.CompilerServices;
-//
-//namespace Android.Gms.Common.Apis
-//{
-// public class ResultCallback : Java.Lang.Object, IResultCallback where TResult : class, IResult
-// {
-// public ResultCallback (Action handler)
-// {
-// OnResultHandler = handler;
-// }
-//
-// public Action OnResultHandler { get; private set; }
-//
-// public void OnResult (Java.Lang.Object result)
-// {
-// var h = OnResultHandler;
-// if (h != null)
-// h(result.JavaCast ());
-// }
-// }
-//
-// public class AwaitableResultCallback : Java.Lang.Object, IResultCallback where TResult : class, IResult
-// {
-// public AwaitableResultCallback ()
-// {
-// taskCompletionSource = new TaskCompletionSource ();
-// }
-//
-// TaskCompletionSource taskCompletionSource;
-//
-// public void OnResult (Java.Lang.Object result)
-// {
-// var r = result.JavaCast ();
-//
-// taskCompletionSource.SetResult (r);
-// }
-//
-// public Task AwaitAsync ()
-// {
-// return taskCompletionSource.Task;
-// }
-//
-// public TaskAwaiter GetAwaiter ()
-// {
-// return taskCompletionSource.Task.GetAwaiter ();
-// }
-// }
-//
-// public static class IPendingResultExtensions
-// {
-// public static void SetResultCallback (this IPendingResult pr, Action callback) where TResult : class, IResult
-// {
-// pr.SetResultCallback (new ResultCallback (callback));
-// }
-//
-// public static Task AsAsync (this IPendingResult pr) where TResult : class, IResult
-// {
-// var rc = new AwaitableResultCallback ();
-//
-// pr.SetResultCallback (rc);
-//
-// return rc.AwaitAsync ();
-// }
-//
-// public static async Task AsAsync (this IPendingResult pr)
-// {
-// var rc = new AwaitableResultCallback ();
-//
-// pr.SetResultCallback (rc);
-//
-// await rc.AwaitAsync ();
-// }
-//
-// public static TaskAwaiter GetAwaiter(this IPendingResult pr) where TResult : class, IResult
-// {
-// var rc = new AwaitableResultCallback ();
-//
-// pr.SetResultCallback (rc);
-//
-// return rc.GetAwaiter ();
-// }
-//
-// public static TaskAwaiter GetAwaiter (this IPendingResult pr)
-// {
-// var rc = new AwaitableResultCallback ();
-//
-// pr.SetResultCallback (rc);
-//
-// return rc.GetAwaiter ();
-// }
-// }
-//
-// public partial class GoogleApiClientBuilder
-// {
-// public GoogleApiClientBuilder AddConnectionCallbacks (Action connectedCallback, Action connectionSuspendedCallback)
-// {
-// return AddConnectionCallbacks (new IGoogleApiClientConnectionCallbacksImpl (connectedCallback, connectionSuspendedCallback));
-// }
-//
-// public GoogleApiClientBuilder AddOnConnectionFailedListener (Action callback)
-// {
-// return AddOnConnectionFailedListener (new IGoogleApiClientOnConnectionFailedListenerImpl (callback));
-// }
-//
-// public GoogleApiClientBuilder EnableAutoManage (Android.Support.V4.App.FragmentActivity fragmentActivity, int clientId, Action unresolvedConnectionFailedHandler)
-// {
-// return EnableAutoManage (fragmentActivity, clientId, new IGoogleApiClientOnConnectionFailedListenerImpl (unresolvedConnectionFailedHandler));
-// }
-// }
-//
-// internal class IGoogleApiClientConnectionCallbacksImpl : Java.Lang.Object, IGoogleApiClientConnectionCallbacks
-// {
-// public IGoogleApiClientConnectionCallbacksImpl (Action onConnectedHandler, Action onConnectionSuspendedHandler)
-// {
-// OnConnectedHandler = onConnectedHandler;
-// OnConnectionSuspendedHandler = onConnectionSuspendedHandler;
-// }
-//
-// public Action OnConnectedHandler { get; private set; }
-// public Action OnConnectionSuspendedHandler { get; private set; }
-//
-// public void OnConnected (Bundle bundle)
-// {
-// var h = OnConnectedHandler;
-// if (h != null)
-// h (bundle);
-// }
-//
-// public void OnConnectionSuspended (int cause)
-// {
-// var h = OnConnectionSuspendedHandler;
-// if (h != null)
-// h (cause);
-// }
-// }
-//
-// internal class IGoogleApiClientOnConnectionFailedListenerImpl : Java.Lang.Object, IGoogleApiClientOnConnectionFailedListener
-// {
-// public IGoogleApiClientOnConnectionFailedListenerImpl (Action handler)
-// {
-// OnConnectionFailedHandler = handler;
-// }
-//
-// public Action OnConnectionFailedHandler { get; private set; }
-//
-// public void OnConnectionFailed (Android.Gms.Common.ConnectionResult result)
-// {
-// var h = OnConnectionFailedHandler;
-// if (h != null)
-// h (result);
-// }
-// }
-//}
diff --git a/measurement/source/Transforms/Metadata.generated.xml b/measurement/source/Transforms/Metadata.generated.xml
deleted file mode 100644
index 6dd676f20..000000000
--- a/measurement/source/Transforms/Metadata.generated.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- oValue
- output
- scion
- context
- enabled
- uri
- selection
- selectionArgs
- uri
- uri
- values
- uri
- projection
- selection
- selectionArgs
- sortOrder
- uri
- values
- selection
- selectionArgs
- context
- intent
- intent
- intent
- intent
- flags
- startId
- intent
- output
- flags
- output
- flags
- nameValue
- parameters
- origin
- eventTimeInMilliseconds
- output
- flags
- output
- flags
- enabled
- connectionHint
- result
- cause
- nameValue
- binder
- nameValue
- appValue
- code
- data
- reply
- flags
- value
- value
-
diff --git a/measurement/source/packages.config b/measurement/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/measurement/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/nearby/component/component.template.yaml b/nearby/component/component.template.yaml
index cc9fc363c..8e54dd132 100644
--- a/nearby/component/component.template.yaml
+++ b/nearby/component/component.template.yaml
@@ -4,15 +4,10 @@ id: googleplayservices-nearby
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: "Build simple interactions between nearby devices and people."
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-nearby_128x128.png
- - icons/googleplayservices-nearby_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Nearby.dll
+ - ../../icons/play-services-nearby_128x128.png
+ - ../../icons/play-services-nearby_512x512.png
is_shell: true
packages:
android:
@@ -21,14 +16,16 @@ samples:
- name: "Nearby Sample"
path: ../../nearby/samples/NearbySample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Nearby
+ - Base
+ - Basement
+ - Tasks
+ - Nearby
installNuGets:
- project: NearbySample
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Nearby
local-nuget-repo: ../../output/
no_build: true
diff --git a/nearby/component/icons/googleplayservices-nearby_128x128.png b/nearby/component/icons/googleplayservices-nearby_128x128.png
deleted file mode 100644
index d1293e488..000000000
Binary files a/nearby/component/icons/googleplayservices-nearby_128x128.png and /dev/null differ
diff --git a/nearby/component/icons/googleplayservices-nearby_512x512.png b/nearby/component/icons/googleplayservices-nearby_512x512.png
deleted file mode 100644
index 0da1947c6..000000000
Binary files a/nearby/component/icons/googleplayservices-nearby_512x512.png and /dev/null differ
diff --git a/nearby/nuget/Xamarin.GooglePlayServices.Nearby.nuspec b/nearby/nuget/Xamarin.GooglePlayServices.Nearby.template.nuspec
similarity index 78%
rename from nearby/nuget/Xamarin.GooglePlayServices.Nearby.nuspec
rename to nearby/nuget/Xamarin.GooglePlayServices.Nearby.template.nuspec
index 0b37dd327..aab64b2f2 100644
--- a/nearby/nuget/Xamarin.GooglePlayServices.Nearby.nuspec
+++ b/nearby/nuget/Xamarin.GooglePlayServices.Nearby.template.nuspec
@@ -7,22 +7,22 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Nearby
+ Xamarin.Android Bindings for Google Play Services - Nearby $aar-version$
- Xamarin.Android Bindings for Google Play Services - Nearby
+ Xamarin.Android Bindings for Google Play Services - Nearby $aar-version$
Nearby exposes simple publish and subscribe methods that rely on proximity. Your app publishes a payload that can be received by nearby subscribers. On top of this foundation, you can build a variety of user experiences to share messages and create real-time connections between nearby devices.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-nearby/
http://components.xamarin.com/license/googleplayservices-nearby/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Nearby.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-nearby_128x128.png
-
+
diff --git a/nearby/samples/NearbySample.UITests/NearbySample.UITests.csproj b/nearby/samples/NearbySample.UITests/NearbySample.UITests.csproj
index 6d5a15215..0c332d832 100644
--- a/nearby/samples/NearbySample.UITests/NearbySample.UITests.csproj
+++ b/nearby/samples/NearbySample.UITests/NearbySample.UITests.csproj
@@ -29,12 +29,12 @@
-
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
-
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
diff --git a/nearby/samples/NearbySample.UITests/packages.config b/nearby/samples/NearbySample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/nearby/samples/NearbySample.UITests/packages.config
+++ b/nearby/samples/NearbySample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/nearby/samples/NearbySample.sln b/nearby/samples/NearbySample.sln
index 9a1a11abf..c093753f5 100644
--- a/nearby/samples/NearbySample.sln
+++ b/nearby/samples/NearbySample.sln
@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nearby", "..\source\Nearby.
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -37,5 +39,9 @@ Global
{A7ADD277-FCAB-46D5-8F18-2E4BFFDA3AE7}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A7ADD277-FCAB-46D5-8F18-2E4BFFDA3AE7}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A7ADD277-FCAB-46D5-8F18-2E4BFFDA3AE7}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/nearby/samples/NearbySample/NearbySample.csproj b/nearby/samples/NearbySample/NearbySample.csproj
index 0e5984e59..0e00977a0 100644
--- a/nearby/samples/NearbySample/NearbySample.csproj
+++ b/nearby/samples/NearbySample/NearbySample.csproj
@@ -13,9 +13,10 @@
Resource
Resources\Resource.designer.cs
True
- True
+ false
NearbySample
- v5.1
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
full
@@ -37,15 +37,29 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -73,7 +87,7 @@
-
+
{3F6BAE25-ADEB-468C-8384-AD655623C341}
@@ -87,5 +101,9 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
\ No newline at end of file
diff --git a/nearby/samples/NearbySample/Properties/AndroidManifest.xml b/nearby/samples/NearbySample/Properties/AndroidManifest.xml
index a546a63a4..35f633f73 100644
--- a/nearby/samples/NearbySample/Properties/AndroidManifest.xml
+++ b/nearby/samples/NearbySample/Properties/AndroidManifest.xml
@@ -3,5 +3,6 @@
+
\ No newline at end of file
diff --git a/nearby/samples/NearbySample/Properties/AssemblyInfo.cs b/nearby/samples/NearbySample/Properties/AssemblyInfo.cs
index 6115e4dfb..59ac0fb03 100644
--- a/nearby/samples/NearbySample/Properties/AssemblyInfo.cs
+++ b/nearby/samples/NearbySample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("NearbySample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/nearby/samples/NearbySample/packages.config b/nearby/samples/NearbySample/packages.config
index 01c2aac28..71e0c9953 100644
--- a/nearby/samples/NearbySample/packages.config
+++ b/nearby/samples/NearbySample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/nearby/source/Additions/IPendingResultExtensions.cs b/nearby/source/Additions/IPendingResultExtensions.cs
index 43574f271..68f08cc40 100644
--- a/nearby/source/Additions/IPendingResultExtensions.cs
+++ b/nearby/source/Additions/IPendingResultExtensions.cs
@@ -34,6 +34,7 @@ namespace Android.Gms.Nearby.Messages
{
public static partial class IMessagesExtensions
{
+ [Obsolete]
public static async Task GetPermissionStatusAsync (this IMessages api, GoogleApiClient client)
{
return (await api.GetPermissionStatus (client)).JavaCast ();
@@ -46,11 +47,6 @@ public static async Task PublishAsync (this IMessages api, GoogleApiCl
{
return (await api.Publish (client, message, options)).JavaCast ();
}
- [Obsolete]
- public static async Task PublishAsync (this IMessages api, GoogleApiClient client, Android.Gms.Nearby.Messages.Message message, Android.Gms.Nearby.Messages.Strategy strategy)
- {
- return (await api.Publish (client, message, strategy)).JavaCast ();
- }
public static async Task RegisterStatusCallbackAsync (this IMessages api, GoogleApiClient client, Android.Gms.Nearby.Messages.StatusCallback statusCallback)
{
return (await api.RegisterStatusCallback (client, statusCallback)).JavaCast ();
@@ -59,16 +55,6 @@ public static async Task SubscribeAsync (this IMessages api, GoogleApi
{
return (await api.Subscribe (client, listener)).JavaCast ();
}
- [Obsolete]
- public static async Task SubscribeAsync (this IMessages api, GoogleApiClient client, Android.Gms.Nearby.Messages.MessageListener listener, Android.Gms.Nearby.Messages.Strategy strategy)
- {
- return (await api.Subscribe (client, listener, strategy)).JavaCast ();
- }
- [Obsolete]
- public static async Task SubscribeAsync (this IMessages api, GoogleApiClient client, Android.Gms.Nearby.Messages.MessageListener listener, Android.Gms.Nearby.Messages.Strategy strategy, Android.Gms.Nearby.Messages.MessageFilter filter)
- {
- return (await api.Subscribe (client, listener, strategy, filter)).JavaCast ();
- }
public static async Task SubscribeAsync (this IMessages api, GoogleApiClient client, Android.Gms.Nearby.Messages.MessageListener listener, Android.Gms.Nearby.Messages.SubscribeOptions options)
{
return (await api.Subscribe (client, listener, options)).JavaCast ();
diff --git a/nearby/source/Nearby.csproj b/nearby/source/Nearby.csproj
index 688082467..4433aed73 100644
--- a/nearby/source/Nearby.csproj
+++ b/nearby/source/Nearby.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{A7ADD277-FCAB-46D5-8F18-2E4BFFDA3AE7}
Library
GooglePlayServices.Nearby
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.Nearby
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
+ source
+ size
+ dest
+ flags
+
+
diff --git a/nearby/source/packages.config b/nearby/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/nearby/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/panorama/component/component.template.yaml b/panorama/component/component.template.yaml
index b4efb9fe4..5588c2edc 100644
--- a/panorama/component/component.template.yaml
+++ b/panorama/component/component.template.yaml
@@ -4,15 +4,10 @@ id: googleplayservices-panorama
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: "Open panorama standard and APIs"
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-panorama_128x128.png
- - icons/googleplayservices-panorama_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Panorama.dll
+ - ../../icons/play-services-panorama_128x128.png
+ - ../../icons/play-services-panorama_512x512.png
is_shell: true
packages:
android:
@@ -21,14 +16,16 @@ samples:
- name: "Panorama Sample"
path: ../../panorama/samples/PanoramaSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Panorama
+ - Base
+ - Basement
+ - Tasks
+ - Panorama
installNuGets:
- project: PanoramaSample
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Panorama
local-nuget-repo: ../../output/
no_build: true
diff --git a/panorama/component/icons/googleplayservices-panorama_128x128.png b/panorama/component/icons/googleplayservices-panorama_128x128.png
deleted file mode 100644
index 735b5245b..000000000
Binary files a/panorama/component/icons/googleplayservices-panorama_128x128.png and /dev/null differ
diff --git a/panorama/component/icons/googleplayservices-panorama_512x512.png b/panorama/component/icons/googleplayservices-panorama_512x512.png
deleted file mode 100644
index efb2bbe68..000000000
Binary files a/panorama/component/icons/googleplayservices-panorama_512x512.png and /dev/null differ
diff --git a/panorama/nuget/Xamarin.GooglePlayServices.Panorama.nuspec b/panorama/nuget/Xamarin.GooglePlayServices.Panorama.template.nuspec
similarity index 74%
rename from panorama/nuget/Xamarin.GooglePlayServices.Panorama.nuspec
rename to panorama/nuget/Xamarin.GooglePlayServices.Panorama.template.nuspec
index b27787949..0c4dc3679 100644
--- a/panorama/nuget/Xamarin.GooglePlayServices.Panorama.nuspec
+++ b/panorama/nuget/Xamarin.GooglePlayServices.Panorama.template.nuspec
@@ -7,22 +7,22 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Panorama
+ Xamarin.Android Bindings for Google Play Services - Panorama $aar-version$
- Xamarin.Android Bindings for Google Play Services - Panorama
+ Xamarin.Android Bindings for Google Play Services - Panorama $aar-version$
The Panorama API allows you to include a Panorama Viewer in your own applications.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-panorama/
http://components.xamarin.com/license/googleplayservices-panorama/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Panorama.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-panorama_128x128.png
-
+
diff --git a/panorama/samples/PanoramaSample.UITests/PanoramaSample.UITests.csproj b/panorama/samples/PanoramaSample.UITests/PanoramaSample.UITests.csproj
index 0c5ae2659..51e3fc0c9 100644
--- a/panorama/samples/PanoramaSample.UITests/PanoramaSample.UITests.csproj
+++ b/panorama/samples/PanoramaSample.UITests/PanoramaSample.UITests.csproj
@@ -33,7 +33,7 @@
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
diff --git a/panorama/samples/PanoramaSample.UITests/packages.config b/panorama/samples/PanoramaSample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/panorama/samples/PanoramaSample.UITests/packages.config
+++ b/panorama/samples/PanoramaSample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/panorama/samples/PanoramaSample.sln b/panorama/samples/PanoramaSample.sln
index 8a880997d..7ed874795 100644
--- a/panorama/samples/PanoramaSample.sln
+++ b/panorama/samples/PanoramaSample.sln
@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Panorama", "..\source\Panor
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -37,5 +39,9 @@ Global
{AEBA328F-E4A7-4E7E-AAD3-2808A5118FCE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{AEBA328F-E4A7-4E7E-AAD3-2808A5118FCE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{AEBA328F-E4A7-4E7E-AAD3-2808A5118FCE}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/panorama/samples/PanoramaSample/PanoramaSample.csproj b/panorama/samples/PanoramaSample/PanoramaSample.csproj
index d5a0f140a..9e531ba0c 100644
--- a/panorama/samples/PanoramaSample/PanoramaSample.csproj
+++ b/panorama/samples/PanoramaSample/PanoramaSample.csproj
@@ -12,10 +12,11 @@
Resource
Resources\Resource.designer.cs
True
- True
+ false
PanoramaSample
Properties\AndroidManifest.xml
- v5.1
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
full
@@ -37,15 +37,29 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -69,7 +83,7 @@
-
+
{3F6BAE25-ADEB-468C-8384-AD655623C341}
@@ -83,5 +97,9 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
\ No newline at end of file
diff --git a/panorama/samples/PanoramaSample/Properties/AndroidManifest.xml b/panorama/samples/PanoramaSample/Properties/AndroidManifest.xml
index f60de509f..e1e7a2ecb 100644
--- a/panorama/samples/PanoramaSample/Properties/AndroidManifest.xml
+++ b/panorama/samples/PanoramaSample/Properties/AndroidManifest.xml
@@ -3,4 +3,5 @@
+
diff --git a/panorama/samples/PanoramaSample/Properties/AssemblyInfo.cs b/panorama/samples/PanoramaSample/Properties/AssemblyInfo.cs
index c28d6116b..4e072af9a 100644
--- a/panorama/samples/PanoramaSample/Properties/AssemblyInfo.cs
+++ b/panorama/samples/PanoramaSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("PanoramaSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/panorama/samples/PanoramaSample/packages.config b/panorama/samples/PanoramaSample/packages.config
index 6cb850330..71e0c9953 100644
--- a/panorama/samples/PanoramaSample/packages.config
+++ b/panorama/samples/PanoramaSample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/panorama/source/Panorama.csproj b/panorama/source/Panorama.csproj
index 519d21b02..767537b57 100644
--- a/panorama/source/Panorama.csproj
+++ b/panorama/source/Panorama.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{9E3CD219-C950-4AA9-88E5-818F42C12566}
Library
GooglePlayServices.Panorama
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.Panorama
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
+ source
+ size
+ dest
+ flags
+
diff --git a/panorama/source/packages.config b/panorama/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/panorama/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/places/nuget/Xamarin.GooglePlayServices.Places.template.nuspec b/places/nuget/Xamarin.GooglePlayServices.Places.template.nuspec
new file mode 100644
index 000000000..e88259c36
--- /dev/null
+++ b/places/nuget/Xamarin.GooglePlayServices.Places.template.nuspec
@@ -0,0 +1,27 @@
+
+
+
+ Xamarin.GooglePlayServices.Places
+ Xamarin Google Play Services - Places
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - Places $aar-version$
+
+ Xamarin.Android Bindings for Google Play Services - Places $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-places_128x128.png
+
+
+
+
+
+
+
+
+
+
diff --git a/location/samples/PlacesAsync.UITests/PlacesAsync.UITests.csproj b/places/samples/PlacesAsync.UITests/PlacesAsync.UITests.csproj
similarity index 97%
rename from location/samples/PlacesAsync.UITests/PlacesAsync.UITests.csproj
rename to places/samples/PlacesAsync.UITests/PlacesAsync.UITests.csproj
index 25741426a..d9b575fec 100644
--- a/location/samples/PlacesAsync.UITests/PlacesAsync.UITests.csproj
+++ b/places/samples/PlacesAsync.UITests/PlacesAsync.UITests.csproj
@@ -29,12 +29,12 @@
-
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
-
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
+
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
+
diff --git a/location/samples/PlacesAsync.UITests/Tests.cs b/places/samples/PlacesAsync.UITests/Tests.cs
similarity index 100%
rename from location/samples/PlacesAsync.UITests/Tests.cs
rename to places/samples/PlacesAsync.UITests/Tests.cs
diff --git a/location/samples/PlacesAsync.UITests/packages.config b/places/samples/PlacesAsync.UITests/packages.config
similarity index 67%
rename from location/samples/PlacesAsync.UITests/packages.config
rename to places/samples/PlacesAsync.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/location/samples/PlacesAsync.UITests/packages.config
+++ b/places/samples/PlacesAsync.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/location/samples/PlacesAsync.sln b/places/samples/PlacesAsync.sln
similarity index 75%
rename from location/samples/PlacesAsync.sln
rename to places/samples/PlacesAsync.sln
index 831025a42..18a146d7c 100644
--- a/location/samples/PlacesAsync.sln
+++ b/places/samples/PlacesAsync.sln
@@ -5,14 +5,16 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlacesAsync", "PlacesAsync\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\Base.csproj", "{3F6BAE25-ADEB-468C-8384-AD655623C341}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maps", "..\..\maps\source\Maps.csproj", "{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Location", "..\source\Location.csproj", "{F666DC89-9CE4-491C-8450-6FBC70298FA3}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlacesAsync.UITests", "PlacesAsync.UITests\PlacesAsync.UITests.csproj", "{9A92BAE1-0747-496B-AC09-35D9D604C2F9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maps", "..\..\maps\source\Maps.csproj", "{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Places", "..\source\Places.csproj", "{D42D621B-0370-44F6-A58E-0749629F9F4D}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -31,17 +33,21 @@ Global
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}.Release|Any CPU.Build.0 = Release|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.Build.0 = Release|Any CPU
{9A92BAE1-0747-496B-AC09-35D9D604C2F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{9A92BAE1-0747-496B-AC09-35D9D604C2F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{9A92BAE1-0747-496B-AC09-35D9D604C2F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{9A92BAE1-0747-496B-AC09-35D9D604C2F9}.Release|Any CPU.Build.0 = Release|Any CPU
- {F666DC89-9CE4-491C-8450-6FBC70298FA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F666DC89-9CE4-491C-8450-6FBC70298FA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F666DC89-9CE4-491C-8450-6FBC70298FA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F666DC89-9CE4-491C-8450-6FBC70298FA3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/places/samples/PlacesAsync/Assets/AboutAssets.txt b/places/samples/PlacesAsync/Assets/AboutAssets.txt
new file mode 100644
index 000000000..a9b0638eb
--- /dev/null
+++ b/places/samples/PlacesAsync/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/location/samples/PlacesAsync/MainActivity.cs b/places/samples/PlacesAsync/MainActivity.cs
similarity index 100%
rename from location/samples/PlacesAsync/MainActivity.cs
rename to places/samples/PlacesAsync/MainActivity.cs
diff --git a/location/samples/PlacesAsync/PlaceDetailsActivity.cs b/places/samples/PlacesAsync/PlaceDetailsActivity.cs
similarity index 100%
rename from location/samples/PlacesAsync/PlaceDetailsActivity.cs
rename to places/samples/PlacesAsync/PlaceDetailsActivity.cs
diff --git a/location/samples/PlacesAsync/PlacesAsync.csproj b/places/samples/PlacesAsync/PlacesAsync.csproj
similarity index 70%
rename from location/samples/PlacesAsync/PlacesAsync.csproj
rename to places/samples/PlacesAsync/PlacesAsync.csproj
index 1838f68c5..7be43ed6a 100644
--- a/location/samples/PlacesAsync/PlacesAsync.csproj
+++ b/places/samples/PlacesAsync/PlacesAsync.csproj
@@ -15,7 +15,8 @@
True
False
PlacesAsync
- v4.2
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
full
@@ -37,15 +37,29 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -71,23 +85,27 @@
-
+
{3F6BAE25-ADEB-468C-8384-AD655623C341}
Base
-
- {F666DC89-9CE4-491C-8450-6FBC70298FA3}
- Location
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}
Maps
-
- {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
- Basement
+
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}
+ Places
\ No newline at end of file
diff --git a/location/samples/PlacesAsync/PlacesAutocompleteAdapter.cs b/places/samples/PlacesAsync/PlacesAutocompleteAdapter.cs
similarity index 97%
rename from location/samples/PlacesAsync/PlacesAutocompleteAdapter.cs
rename to places/samples/PlacesAsync/PlacesAutocompleteAdapter.cs
index 9c4ea01ed..8581f0a95 100644
--- a/location/samples/PlacesAsync/PlacesAutocompleteAdapter.cs
+++ b/places/samples/PlacesAsync/PlacesAutocompleteAdapter.cs
@@ -111,7 +111,7 @@ async Task> getAutocomplete (Java.Lang.ICharSequence constraint)
}
// Copy the results into our own list, because we can't hold onto the buffer
- var list = autocompletePredictions.Select (p => new PlaceInfo { PlaceId = p.PlaceId, Description = p.Description })
+ var list = autocompletePredictions.Select (p => new PlaceInfo { PlaceId = p.PlaceId, Description = p.GetPrimaryTextFormatted (null).ToString() })
.ToList ();
// Release the buffer now that all data has been copied.
diff --git a/location/samples/PlacesAsync/Properties/AndroidManifest.xml b/places/samples/PlacesAsync/Properties/AndroidManifest.xml
similarity index 84%
rename from location/samples/PlacesAsync/Properties/AndroidManifest.xml
rename to places/samples/PlacesAsync/Properties/AndroidManifest.xml
index 18a644d65..e3a8ea2f1 100644
--- a/location/samples/PlacesAsync/Properties/AndroidManifest.xml
+++ b/places/samples/PlacesAsync/Properties/AndroidManifest.xml
@@ -3,4 +3,5 @@
+
\ No newline at end of file
diff --git a/location/samples/PlacesAsync/Properties/AssemblyInfo.cs b/places/samples/PlacesAsync/Properties/AssemblyInfo.cs
similarity index 88%
rename from location/samples/PlacesAsync/Properties/AssemblyInfo.cs
rename to places/samples/PlacesAsync/Properties/AssemblyInfo.cs
index 7bf1afaa9..d02af0370 100644
--- a/location/samples/PlacesAsync/Properties/AssemblyInfo.cs
+++ b/places/samples/PlacesAsync/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("PlacesAsync")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/places/samples/PlacesAsync/Resources/AboutResources.txt b/places/samples/PlacesAsync/Resources/AboutResources.txt
new file mode 100644
index 000000000..10f52d460
--- /dev/null
+++ b/places/samples/PlacesAsync/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/location/samples/PlacesAsync/Resources/drawable-hdpi/Icon.png b/places/samples/PlacesAsync/Resources/drawable-hdpi/Icon.png
similarity index 100%
rename from location/samples/PlacesAsync/Resources/drawable-hdpi/Icon.png
rename to places/samples/PlacesAsync/Resources/drawable-hdpi/Icon.png
diff --git a/location/samples/PlacesAsync/Resources/drawable-mdpi/Icon.png b/places/samples/PlacesAsync/Resources/drawable-mdpi/Icon.png
similarity index 100%
rename from location/samples/PlacesAsync/Resources/drawable-mdpi/Icon.png
rename to places/samples/PlacesAsync/Resources/drawable-mdpi/Icon.png
diff --git a/location/samples/PlacesAsync/Resources/drawable-xhdpi/Icon.png b/places/samples/PlacesAsync/Resources/drawable-xhdpi/Icon.png
similarity index 100%
rename from location/samples/PlacesAsync/Resources/drawable-xhdpi/Icon.png
rename to places/samples/PlacesAsync/Resources/drawable-xhdpi/Icon.png
diff --git a/location/samples/PlacesAsync/Resources/drawable-xxhdpi/Icon.png b/places/samples/PlacesAsync/Resources/drawable-xxhdpi/Icon.png
similarity index 100%
rename from location/samples/PlacesAsync/Resources/drawable-xxhdpi/Icon.png
rename to places/samples/PlacesAsync/Resources/drawable-xxhdpi/Icon.png
diff --git a/location/samples/PlacesAsync/Resources/drawable-xxxhdpi/Icon.png b/places/samples/PlacesAsync/Resources/drawable-xxxhdpi/Icon.png
similarity index 100%
rename from location/samples/PlacesAsync/Resources/drawable-xxxhdpi/Icon.png
rename to places/samples/PlacesAsync/Resources/drawable-xxxhdpi/Icon.png
diff --git a/location/samples/PlacesAsync/Resources/layout/Main.axml b/places/samples/PlacesAsync/Resources/layout/Main.axml
similarity index 100%
rename from location/samples/PlacesAsync/Resources/layout/Main.axml
rename to places/samples/PlacesAsync/Resources/layout/Main.axml
diff --git a/location/samples/PlacesAsync/Resources/layout/PlaceDetails.axml b/places/samples/PlacesAsync/Resources/layout/PlaceDetails.axml
similarity index 100%
rename from location/samples/PlacesAsync/Resources/layout/PlaceDetails.axml
rename to places/samples/PlacesAsync/Resources/layout/PlaceDetails.axml
diff --git a/location/samples/PlacesAsync/Resources/values/Strings.xml b/places/samples/PlacesAsync/Resources/values/Strings.xml
similarity index 100%
rename from location/samples/PlacesAsync/Resources/values/Strings.xml
rename to places/samples/PlacesAsync/Resources/values/Strings.xml
diff --git a/places/samples/PlacesAsync/packages.config b/places/samples/PlacesAsync/packages.config
new file mode 100644
index 000000000..71e0c9953
--- /dev/null
+++ b/places/samples/PlacesAsync/packages.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/places/source/Additions/AboutAdditions.txt b/places/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/places/source/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/location/source/Additions/DataBufferAdditions.cs b/places/source/Additions/DataBufferAdditions.cs
similarity index 100%
rename from location/source/Additions/DataBufferAdditions.cs
rename to places/source/Additions/DataBufferAdditions.cs
diff --git a/places/source/Additions/IPendingResultExtensions.cs b/places/source/Additions/IPendingResultExtensions.cs
new file mode 100644
index 000000000..34595228e
--- /dev/null
+++ b/places/source/Additions/IPendingResultExtensions.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Threading.Tasks;
+using Android.Gms.Common.Apis;
+using System.Collections.Generic;
+using Android.Runtime;
+
+namespace Android.Gms.Location.Places
+{
+ public static partial class IGeoDataApiExtensions
+ {
+ public static async Task AddPlaceAsync (this IGeoDataApi api, GoogleApiClient client, AddPlaceRequest addPlaceRequest)
+ {
+ return (await api.AddPlace (client, addPlaceRequest)).JavaCast ();
+ }
+
+ public static async Task GetAutocompletePredictionsAsync (this IGeoDataApi api, GoogleApiClient client, string query, Android.Gms.Maps.Model.LatLngBounds bounds, AutocompleteFilter filter)
+ {
+ return (await api.GetAutocompletePredictions (client, query, bounds, filter)).JavaCast ();
+ }
+
+ public static async Task GetPlaceByIdAsync (this IGeoDataApi api, GoogleApiClient client, params string [] placeIds)
+ {
+ return (await api.GetPlaceById (client, placeIds)).JavaCast ();
+ }
+
+ public static async Task GetPlacePhotosAsync (this IGeoDataApi api, GoogleApiClient client, string placeId)
+ {
+ return (await api.GetPlacePhotos (client, placeId)).JavaCast ();
+ }
+ }
+
+ public static partial class IPlaceDetectionApiExtensions
+ {
+ public static async Task GetCurrentPlaceAsync (this IPlaceDetectionApi api, GoogleApiClient client, PlaceFilter filter)
+ {
+ return (await api.GetCurrentPlace (client, filter)).JavaCast ();
+ }
+
+ public static async Task ReportDeviceAtPlaceAsync (this IPlaceDetectionApi api, GoogleApiClient client, PlaceReport report)
+ {
+ return (await api.ReportDeviceAtPlace (client, report)).JavaCast ();
+ }
+ }
+
+ public static partial class IPlacePhotoMetadataExtensions
+ {
+ public static async Task GetPhotoAsync (this IPlacePhotoMetadata api, GoogleApiClient client)
+ {
+ return (await api.GetPhoto (client)).JavaCast ();
+ }
+
+ public static async Task GetScaledPhotoAsync (this IPlacePhotoMetadata api, GoogleApiClient client, int width, int height)
+ {
+ return (await api.GetScaledPhoto (client, width, height)).JavaCast ();
+ }
+ }
+}
diff --git a/places/source/Jars/AboutJars.txt b/places/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/places/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/places/source/Places.csproj b/places/source/Places.csproj
new file mode 100644
index 000000000..dc02eb54a
--- /dev/null
+++ b/places/source/Places.csproj
@@ -0,0 +1,107 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 8.0.30703
+ 2.0
+ {D42D621B-0370-44F6-A58E-0749629F9F4D}
+ Library
+ GooglePlayServices.Places
+ Resources
+ Assets
+ False
+ Xamarin.GooglePlayServices.Places
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+ ..\..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+ False
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {3F6BAE25-ADEB-468C-8384-AD655623C341}
+ Base
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}
+ Maps
+
+
+
+
+
+ Jars\play-services-places.jar
+
+
+
diff --git a/places/source/Properties/AssemblyInfo.cs b/places/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..915e5ab8a
--- /dev/null
+++ b/places/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.GooglePlayServices.Places")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-places/" + __GpsConsts.Version + "/play-services-places-" + __GpsConsts.Version + ".aar";
+}
diff --git a/places/source/Transforms/EnumFields.xml b/places/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/places/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/places/source/Transforms/EnumMethods.xml b/places/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/places/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/places/source/Transforms/Metadata.generated.xml b/places/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/places/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/places/source/Transforms/Metadata.xml b/places/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..da7d72239
--- /dev/null
+++ b/places/source/Transforms/Metadata.xml
@@ -0,0 +1,52 @@
+
+
+ Android.Gms.Location.Places
+ Android.Gms.Location.Places.Personalized
+ Android.Gms.Location.Places.UI
+ Android.Gms.Location.Places.Internal
+
+
+
+
+
+ dd
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
+
+
+
+
+
+ Java.Lang.Object
+ Java.Lang.Object
+ Java.Lang.Object
+ Java.Lang.Object
+
+
+ PlacesClass
+
+
+
+
+
+ public
+ ZzaInner
+ public
+
+
+ API
+ GEO_DATA_API
+ PLACE_DETECTION_API
+ API
+
+
diff --git a/places/source/packages.config b/places/source/packages.config
new file mode 100644
index 000000000..71e0c9953
--- /dev/null
+++ b/places/source/packages.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/plus/component/component.template.yaml b/plus/component/component.template.yaml
index 419a76125..e92ca7821 100644
--- a/plus/component/component.template.yaml
+++ b/plus/component/component.template.yaml
@@ -4,15 +4,10 @@ id: googleplayservices-plus
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: "Access public Google+ social graph info, build Hangout apps, and more."
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-plus_128x128.png
- - icons/googleplayservices-plus_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Plus.dll
+ - ../../icons/play-services-plus_128x128.png
+ - ../../icons/play-services-plus_512x512.png
is_shell: true
packages:
android:
@@ -21,14 +16,16 @@ samples:
- name: "Plus Sample"
path: ../../plus/samples/PlusSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Plus
+ - Base
+ - Basement
+ - Tasks
+ - Plus
installNuGets:
- project: PlusSample
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Plus
local-nuget-repo: ../../output/
no_build: true
diff --git a/plus/component/icons/googleplayservices-plus_128x128.png b/plus/component/icons/googleplayservices-plus_128x128.png
deleted file mode 100644
index 4ad3edd7c..000000000
Binary files a/plus/component/icons/googleplayservices-plus_128x128.png and /dev/null differ
diff --git a/plus/component/icons/googleplayservices-plus_512x512.png b/plus/component/icons/googleplayservices-plus_512x512.png
deleted file mode 100644
index 036de1687..000000000
Binary files a/plus/component/icons/googleplayservices-plus_512x512.png and /dev/null differ
diff --git a/plus/nuget/Xamarin.GooglePlayServices.Plus.nuspec b/plus/nuget/Xamarin.GooglePlayServices.Plus.template.nuspec
similarity index 70%
rename from plus/nuget/Xamarin.GooglePlayServices.Plus.nuspec
rename to plus/nuget/Xamarin.GooglePlayServices.Plus.template.nuspec
index 5e588706a..707ef6adb 100644
--- a/plus/nuget/Xamarin.GooglePlayServices.Plus.nuspec
+++ b/plus/nuget/Xamarin.GooglePlayServices.Plus.template.nuspec
@@ -7,21 +7,22 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Plus
+ Xamarin.Android Bindings for Google Play Services - Plus $aar-version$
- Xamarin.Android Bindings for Google Play Services - Plus
+ Xamarin.Android Bindings for Google Play Services - Plus $aar-version$
Create a more engaging experience and connect with more users by integrating social into your Android app.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-plus/
http://components.xamarin.com/license/googleplayservices-plus/
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-plus_128x128.png
-
+
diff --git a/plus/samples/PlusSample.UITests/PlusSample.UITests.csproj b/plus/samples/PlusSample.UITests/PlusSample.UITests.csproj
index 74adf28b6..30c4871ad 100644
--- a/plus/samples/PlusSample.UITests/PlusSample.UITests.csproj
+++ b/plus/samples/PlusSample.UITests/PlusSample.UITests.csproj
@@ -33,7 +33,7 @@
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
diff --git a/plus/samples/PlusSample.UITests/packages.config b/plus/samples/PlusSample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/plus/samples/PlusSample.UITests/packages.config
+++ b/plus/samples/PlusSample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/plus/samples/PlusSample.sln b/plus/samples/PlusSample.sln
index 453a61fa3..1a74d612c 100644
--- a/plus/samples/PlusSample.sln
+++ b/plus/samples/PlusSample.sln
@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Plus", "..\source\Plus.cspr
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -37,5 +39,9 @@ Global
{CC84F8DA-BA44-4388-B7C6-B10804BDFB96}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CC84F8DA-BA44-4388-B7C6-B10804BDFB96}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CC84F8DA-BA44-4388-B7C6-B10804BDFB96}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/plus/samples/PlusSample/ListConnectedPeopleActivity.cs b/plus/samples/PlusSample/ListConnectedPeopleActivity.cs
index 5a4ed9625..cc9a49622 100644
--- a/plus/samples/PlusSample/ListConnectedPeopleActivity.cs
+++ b/plus/samples/PlusSample/ListConnectedPeopleActivity.cs
@@ -38,13 +38,13 @@ protected override void OnCreate (Bundle savedInstanceState)
base.OnCreate (savedInstanceState);
SetContentView (Resource.Layout.person_list_activity);
- var options = new PlusClass.PlusOptions.Builder ()
- .AddActivityTypes (MomentUtil.ACTIONS).Build();
+ //var options = new PlusClass.PlusOptions.Builder ()
+ // .AddActivityTypes (MomentUtil.ACTIONS).Build();
mGoogleApiClient = new GoogleApiClient.Builder (this)
.AddConnectionCallbacks (this)
.AddOnConnectionFailedListener (this)
- .AddApi (PlusClass.API, options)
+ .AddApi (PlusClass.API)//, options)
.AddScope (PlusClass.ScopePlusLogin)
.Build();
diff --git a/plus/samples/PlusSample/ListMomentsActivity.cs b/plus/samples/PlusSample/ListMomentsActivity.cs
index 37c572cdd..23803a23e 100644
--- a/plus/samples/PlusSample/ListMomentsActivity.cs
+++ b/plus/samples/PlusSample/ListMomentsActivity.cs
@@ -1,265 +1,265 @@
-using System;
-using Android.App;
-using Android.Widget;
-using System.Collections.Generic;
-using Android.OS;
-using Android.Views;
-using Android.Content;
-using Android.Gms.Plus;
-using Android.Gms.Common.Apis;
-using Android.Gms.Common;
-using Java.Interop;
-using Android.Gms.Plus.Model.People;
-using Android.Gms.Plus.Model.Moments;
+//using System;
+//using Android.App;
+//using Android.Widget;
+//using System.Collections.Generic;
+//using Android.OS;
+//using Android.Views;
+//using Android.Content;
+//using Android.Gms.Plus;
+//using Android.Gms.Common.Apis;
+//using Android.Gms.Common;
+//using Java.Interop;
+//using Android.Gms.Plus.Model.People;
+//using Android.Gms.Plus.Model.Moments;
-namespace PlusSample
-{
- [Activity (Label = "Moments")]
- public class ListMomentsActivity : Activity,
- GoogleApiClient.IConnectionCallbacks,
- GoogleApiClient.IOnConnectionFailedListener,
- IDialogInterfaceOnCancelListener
- {
- const string STATE_RESOLVING_ERROR = "resolving_error";
+//namespace PlusSample
+//{
+// [Activity (Label = "Moments")]
+// public class ListMomentsActivity : Activity,
+// GoogleApiClient.IConnectionCallbacks,
+// GoogleApiClient.IOnConnectionFailedListener,
+// IDialogInterfaceOnCancelListener
+// {
+// const string STATE_RESOLVING_ERROR = "resolving_error";
- const int DIALOG_GET_GOOGLE_PLAY_SERVICES = 1;
- const int REQUEST_CODE_SIGN_IN = 1;
- const int REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES = 2;
+// const int DIALOG_GET_GOOGLE_PLAY_SERVICES = 1;
+// const int REQUEST_CODE_SIGN_IN = 1;
+// const int REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES = 2;
- ListView mMomentListView;
- MomentListAdapter mMomentListAdapter;
- List mListItems;
- bool mResolvingError;
+// ListView mMomentListView;
+// MomentListAdapter mMomentListAdapter;
+// List mListItems;
+// bool mResolvingError;
- GoogleApiClient mGoogleApiClient;
+// GoogleApiClient mGoogleApiClient;
- protected override void OnCreate (Bundle savedInstanceState)
- {
- base.OnCreate (savedInstanceState);
- SetContentView (Resource.Layout.list_moments_activity);
+// protected override void OnCreate (Bundle savedInstanceState)
+// {
+// base.OnCreate (savedInstanceState);
+// SetContentView (Resource.Layout.list_moments_activity);
- var options = new PlusClass.PlusOptions.Builder()
- .AddActivityTypes (MomentUtil.ACTIONS).Build ();
+// var options = new PlusClass.PlusOptions.Builder()
+// .AddActivityTypes (MomentUtil.ACTIONS).Build ();
- mGoogleApiClient = new GoogleApiClient.Builder(this)
- .AddConnectionCallbacks (this)
- .AddOnConnectionFailedListener (this)
- .AddApi (PlusClass.API, options)
- .AddScope (PlusClass.ScopePlusLogin)
- .Build();
+// mGoogleApiClient = new GoogleApiClient.Builder(this)
+// .AddConnectionCallbacks (this)
+// .AddOnConnectionFailedListener (this)
+// .AddApi (PlusClass.API, options)
+// .AddScope (PlusClass.ScopePlusLogin)
+// .Build();
- mListItems = new List();
- mMomentListAdapter = new MomentListAdapter (this, Android.Resource.Layout.SimpleListItem1, mListItems);
- mMomentListView = FindViewById (Resource.Id.moment_list);
- mMomentListView.ItemClick += (sender, e) => {
- var moment = mMomentListAdapter.GetItem (e.Position);
- if (moment != null) {
- if (mGoogleApiClient.IsConnected) {
- PlusClass.MomentsApi.Remove (mGoogleApiClient, moment.Id);
- Toast.MakeText (this, GetString(Resource.String.plus_remove_moment_status),
- ToastLength.Short).Show ();
- } else {
- Toast.MakeText (this, GetString(Resource.String.greeting_status_sign_in_required),
- ToastLength.Short).Show ();
- }
- }
- };
+// mListItems = new List();
+// mMomentListAdapter = new MomentListAdapter (this, Android.Resource.Layout.SimpleListItem1, mListItems);
+// mMomentListView = FindViewById (Resource.Id.moment_list);
+// mMomentListView.ItemClick += (sender, e) => {
+// var moment = mMomentListAdapter.GetItem (e.Position);
+// if (moment != null) {
+// if (mGoogleApiClient.IsConnected) {
+// PlusClass.MomentsApi.Remove (mGoogleApiClient, moment.Id);
+// Toast.MakeText (this, GetString(Resource.String.plus_remove_moment_status),
+// ToastLength.Short).Show ();
+// } else {
+// Toast.MakeText (this, GetString(Resource.String.greeting_status_sign_in_required),
+// ToastLength.Short).Show ();
+// }
+// }
+// };
- mResolvingError = savedInstanceState != null
- && savedInstanceState.GetBoolean (STATE_RESOLVING_ERROR, false);
+// mResolvingError = savedInstanceState != null
+// && savedInstanceState.GetBoolean (STATE_RESOLVING_ERROR, false);
- int available = GooglePlayServicesUtil.IsGooglePlayServicesAvailable (this);
- if (available != CommonStatusCodes.Success) {
- ShowDialog (DIALOG_GET_GOOGLE_PLAY_SERVICES);
- }
+// int available = GooglePlayServicesUtil.IsGooglePlayServicesAvailable (this);
+// if (available != CommonStatusCodes.Success) {
+// ShowDialog (DIALOG_GET_GOOGLE_PLAY_SERVICES);
+// }
- if (Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb) {
- this.ActionBar.SetDisplayHomeAsUpEnabled (true);
- }
- }
+// if (Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb) {
+// this.ActionBar.SetDisplayHomeAsUpEnabled (true);
+// }
+// }
- protected override Dialog OnCreateDialog (int id)
- {
- if (id != DIALOG_GET_GOOGLE_PLAY_SERVICES) {
- return base.OnCreateDialog(id);
- }
+// protected override Dialog OnCreateDialog (int id)
+// {
+// if (id != DIALOG_GET_GOOGLE_PLAY_SERVICES) {
+// return base.OnCreateDialog(id);
+// }
- int available = GooglePlayServicesUtil.IsGooglePlayServicesAvailable(this);
- if (available == CommonStatusCodes.Success)
- return null;
+// int available = GooglePlayServicesUtil.IsGooglePlayServicesAvailable(this);
+// if (available == CommonStatusCodes.Success)
+// return null;
- if (GooglePlayServicesUtil.IsUserRecoverableError (available)) {
- return GooglePlayServicesUtil.GetErrorDialog (
- available, this, REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES, this);
- }
- return new AlertDialog.Builder(this)
- .SetMessage(Resource.String.plus_generic_error)
- .SetCancelable(true)
- .SetOnCancelListener(this)
- .Create ();
- }
+// if (GooglePlayServicesUtil.IsUserRecoverableError (available)) {
+// return GooglePlayServicesUtil.GetErrorDialog (
+// available, this, REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES, this);
+// }
+// return new AlertDialog.Builder(this)
+// .SetMessage(Resource.String.plus_generic_error)
+// .SetCancelable(true)
+// .SetOnCancelListener(this)
+// .Create ();
+// }
- protected override void OnStart ()
- {
- base.OnStart();
- mGoogleApiClient.Connect ();
- }
+// protected override void OnStart ()
+// {
+// base.OnStart();
+// mGoogleApiClient.Connect ();
+// }
- protected override void OnSaveInstanceState (Bundle outState)
- {
- base.OnSaveInstanceState(outState);
- outState.PutBoolean (STATE_RESOLVING_ERROR, mResolvingError);
- }
+// protected override void OnSaveInstanceState (Bundle outState)
+// {
+// base.OnSaveInstanceState(outState);
+// outState.PutBoolean (STATE_RESOLVING_ERROR, mResolvingError);
+// }
- protected override void OnStop ()
- {
- mGoogleApiClient.Disconnect ();
- base.OnStop();
- }
+// protected override void OnStop ()
+// {
+// mGoogleApiClient.Disconnect ();
+// base.OnStop();
+// }
- protected override void OnActivityResult (int requestCode, Result resultCode, Intent data)
- {
- switch (requestCode) {
- case REQUEST_CODE_SIGN_IN:
- mResolvingError = false;
- handleResult(resultCode);
- break;
- case REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES:
- handleResult(resultCode);
- break;
- }
- }
+// protected override void OnActivityResult (int requestCode, Result resultCode, Intent data)
+// {
+// switch (requestCode) {
+// case REQUEST_CODE_SIGN_IN:
+// mResolvingError = false;
+// handleResult(resultCode);
+// break;
+// case REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES:
+// handleResult(resultCode);
+// break;
+// }
+// }
- void handleResult(Result resultCode)
- {
- if (resultCode == Result.Ok) {
- // onActivityResult is called after onStart (but onStart is not
- // guaranteed to be called while signing in), so we should make
- // sure we're not already connecting before we call connect again.
- if (!mGoogleApiClient.IsConnecting && !mGoogleApiClient.IsConnected) {
- mGoogleApiClient.Connect ();
- }
- } else {
- Console.WriteLine ("Unable to sign the user in.");
- Finish ();
- }
- }
+// void handleResult(Result resultCode)
+// {
+// if (resultCode == Result.Ok) {
+// // onActivityResult is called after onStart (but onStart is not
+// // guaranteed to be called while signing in), so we should make
+// // sure we're not already connecting before we call connect again.
+// if (!mGoogleApiClient.IsConnecting && !mGoogleApiClient.IsConnected) {
+// mGoogleApiClient.Connect ();
+// }
+// } else {
+// Console.WriteLine ("Unable to sign the user in.");
+// Finish ();
+// }
+// }
- public void OnConnected (Bundle connectionHint)
- {
- PlusClass.MomentsApi.Load (mGoogleApiClient).SetResultCallback (result => {
- switch (result.Status.StatusCode) {
- case CommonStatusCodes.Success:
- var momentBuffer = result.MomentBuffer;
+// public void OnConnected (Bundle connectionHint)
+// {
+// PlusClass.MomentsApi.Load (mGoogleApiClient).SetResultCallback (result => {
+// switch (result.Status.StatusCode) {
+// case CommonStatusCodes.Success:
+// var momentBuffer = result.MomentBuffer;
- mListItems.Clear ();
- try {
- int count = momentBuffer.Count;
- for (int i = 0; i < count; i++) {
- var moment = momentBuffer.Get (i).JavaCast ();
- mListItems.Add (moment);
- }
- } finally {
- momentBuffer.Close ();
- }
+// mListItems.Clear ();
+// try {
+// int count = momentBuffer.Count;
+// for (int i = 0; i < count; i++) {
+// var moment = momentBuffer.Get (i).JavaCast ();
+// mListItems.Add (moment);
+// }
+// } finally {
+// momentBuffer.Close ();
+// }
- mMomentListAdapter.NotifyDataSetChanged ();
- break;
+// mMomentListAdapter.NotifyDataSetChanged ();
+// break;
- case CommonStatusCodes.SignInRequired:
- mGoogleApiClient.Disconnect();
- mGoogleApiClient.Connect();
- break;
+// case CommonStatusCodes.SignInRequired:
+// mGoogleApiClient.Disconnect();
+// mGoogleApiClient.Connect();
+// break;
- default:
- Console.WriteLine ("Error when listing moments: " + result.Status);
- break;
- }
- });
- mMomentListView.Adapter = mMomentListAdapter;
- }
+// default:
+// Console.WriteLine ("Error when listing moments: " + result.Status);
+// break;
+// }
+// });
+// mMomentListView.Adapter = mMomentListAdapter;
+// }
- public void OnConnectionSuspended(int cause)
- {
- mMomentListView.Adapter = null;
- mGoogleApiClient.Connect();
- }
+// public void OnConnectionSuspended(int cause)
+// {
+// mMomentListView.Adapter = null;
+// mGoogleApiClient.Connect();
+// }
- public void OnConnectionFailed (ConnectionResult result)
- {
- mMomentListView.Adapter = null;
- if (mResolvingError) {
- return;
- }
+// public void OnConnectionFailed (ConnectionResult result)
+// {
+// mMomentListView.Adapter = null;
+// if (mResolvingError) {
+// return;
+// }
- try {
- result.StartResolutionForResult (this, REQUEST_CODE_SIGN_IN);
- mResolvingError = true;
- } catch (IntentSender.SendIntentException e) {
- // Try connecting again.
- mGoogleApiClient.Connect ();
- }
- }
+// try {
+// result.StartResolutionForResult (this, REQUEST_CODE_SIGN_IN);
+// mResolvingError = true;
+// } catch (IntentSender.SendIntentException e) {
+// // Try connecting again.
+// mGoogleApiClient.Connect ();
+// }
+// }
- public void OnCancel (IDialogInterface dialog)
- {
- Console.WriteLine ("Unable to sign the user in.");
- Finish();
- }
+// public void OnCancel (IDialogInterface dialog)
+// {
+// Console.WriteLine ("Unable to sign the user in.");
+// Finish();
+// }
- public override bool OnOptionsItemSelected (IMenuItem item)
- {
- switch (item.ItemId) {
- case Android.Resource.Id.Home:
- Intent intent = new Intent(this, typeof (PlusSampleActivity));
- intent.AddFlags (ActivityFlags.ClearTop);
- StartActivity(intent);
- Finish ();
- return true;
+// public override bool OnOptionsItemSelected (IMenuItem item)
+// {
+// switch (item.ItemId) {
+// case Android.Resource.Id.Home:
+// Intent intent = new Intent(this, typeof (PlusSampleActivity));
+// intent.AddFlags (ActivityFlags.ClearTop);
+// StartActivity(intent);
+// Finish ();
+// return true;
- default:
- return base.OnOptionsItemSelected (item);
- }
- }
+// default:
+// return base.OnOptionsItemSelected (item);
+// }
+// }
- /**
- * Array adapter that maintains a Moment list.
- */
- private class MomentListAdapter : ArrayAdapter
- {
- LayoutInflater mLayoutInflater;
- List mItems;
+// /**
+// * Array adapter that maintains a Moment list.
+// */
+// private class MomentListAdapter : ArrayAdapter
+// {
+// LayoutInflater mLayoutInflater;
+// List mItems;
- public MomentListAdapter(Context context, int textViewResourceId, List objects)
- : base (context, textViewResourceId, objects)
- {
- mLayoutInflater = LayoutInflater.From (context);
- mItems = objects;
- }
+// public MomentListAdapter(Context context, int textViewResourceId, List objects)
+// : base (context, textViewResourceId, objects)
+// {
+// mLayoutInflater = LayoutInflater.From (context);
+// mItems = objects;
+// }
- public override View GetView (int position, View convertView, ViewGroup parent)
- {
- var resultView = convertView;
- if (resultView == null) {
- resultView = mLayoutInflater.Inflate (Resource.Layout.moment_row, null);
- }
+// public override View GetView (int position, View convertView, ViewGroup parent)
+// {
+// var resultView = convertView;
+// if (resultView == null) {
+// resultView = mLayoutInflater.Inflate (Resource.Layout.moment_row, null);
+// }
- var moment = mItems[position];
- if (moment != null) {
- var typeView = resultView.FindViewById (Resource.Id.moment_type);
- var titleView = resultView.FindViewById (Resource.Id.moment_title);
+// var moment = mItems[position];
+// if (moment != null) {
+// var typeView = resultView.FindViewById (Resource.Id.moment_type);
+// var titleView = resultView.FindViewById (Resource.Id.moment_title);
- var type = Android.Net.Uri.Parse (moment.Type).Path.Substring (1);
- typeView.Text = type;
+// var type = Android.Net.Uri.Parse (moment.Type).Path.Substring (1);
+// typeView.Text = type;
- if (moment.Target != null) {
- titleView.Text = moment.Target.Name;
- }
- }
+// if (moment.Target != null) {
+// titleView.Text = moment.Target.Name;
+// }
+// }
- return resultView;
- }
- }
- }
-}
+// return resultView;
+// }
+// }
+// }
+//}
diff --git a/plus/samples/PlusSample/ListVisiblePeopleActivity.cs b/plus/samples/PlusSample/ListVisiblePeopleActivity.cs
index 89f090628..896ef53bb 100644
--- a/plus/samples/PlusSample/ListVisiblePeopleActivity.cs
+++ b/plus/samples/PlusSample/ListVisiblePeopleActivity.cs
@@ -40,11 +40,11 @@ protected override void OnCreate (Bundle savedInstanceState)
base.OnCreate (savedInstanceState);
SetContentView (Resource.Layout.person_list_activity);
- var options = new PlusClass.PlusOptions.Builder ().AddActivityTypes (MomentUtil.ACTIONS).Build ();
+ //var options = new PlusClass.PlusOptions.Builder ().AddActivityTypes (MomentUtil.ACTIONS).Build ();
mGoogleApiClient = new GoogleApiClient.Builder (this)
.AddConnectionCallbacks (this)
.AddOnConnectionFailedListener (this)
- .AddApi (PlusClass.API, options)
+ .AddApi (PlusClass.API) // options)
.AddScope (PlusClass.ScopePlusLogin)
.Build ();
diff --git a/plus/samples/PlusSample/MomentActivity.cs b/plus/samples/PlusSample/MomentActivity.cs
index f9258ecf0..7688378ed 100644
--- a/plus/samples/PlusSample/MomentActivity.cs
+++ b/plus/samples/PlusSample/MomentActivity.cs
@@ -1,225 +1,225 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-using Android.App;
-using Android.Content;
-using Android.OS;
-using Android.Runtime;
-using Android.Views;
-using Android.Widget;
-using Android.Gms.Plus.Model.Moments;
-using Android.Gms.Plus;
-using Android.Gms.Common;
-using Android.Gms.Common.Apis;
-
-namespace PlusSample
-{
- [Activity (Label = "Moment")]
- public class MomentActivity : Activity, GoogleApiClient.IConnectionCallbacks, GoogleApiClient.IOnConnectionFailedListener, IDialogInterfaceOnCancelListener
- {
- const string TAG = "MomentActivity";
-
- const string STATE_RESOLVING_ERROR = "resolvingError";
-
- const int DIALOG_GET_GOOGLE_PLAY_SERVICES = 1;
-
- const int REQUEST_CODE_SIGN_IN = 1;
- const int REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES = 2;
-
- GoogleApiClient mGoogleApiClient;
- ArrayAdapter mListAdapter;
- ListView mMomentListView;
- bool mResolvingError;
-
- protected override void OnCreate (Bundle savedInstanceState)
- {
- base.OnCreate (savedInstanceState);
-
- SetContentView (Resource.Layout.multi_moment_activity);
-
- var options = new PlusClass.PlusOptions.Builder().AddActivityTypes (MomentUtil.ACTIONS).Build ();
- mGoogleApiClient = new GoogleApiClient.Builder (this)
- .AddConnectionCallbacks(this)
- .AddOnConnectionFailedListener(this)
- .AddApi (PlusClass.API, options)
- .AddScope (PlusClass.ScopePlusLogin)
- .Build ();
-
- mListAdapter = new ArrayAdapter(
- this, Android.Resource.Layout.SimpleListItem1, MomentUtil.MOMENT_LIST);
- mMomentListView = FindViewById(Resource.Id.moment_list);
- mMomentListView.ItemClick += (sender, e) => {
- if (mGoogleApiClient.IsConnected) {
- var textView = e.View as TextView;
- var momentType = textView.Text;
- var targetUrl = MomentUtil.MOMENT_TYPES[momentType];
-
- var target = new ItemScopeBuilder ().SetUrl(targetUrl).Build ();
-
- var momentBuilder = new MomentBuilder ();
- momentBuilder.SetType ("http://schemas.google.com/" + momentType);
- momentBuilder.SetTarget (target);
-
- var result = MomentUtil.GetResultFor (momentType);
- if (result != null)
- momentBuilder.SetResult (result);
-
- PlusClass.MomentsApi.Write (mGoogleApiClient, momentBuilder.Build ()).SetResultCallback (status =>
- {
- switch (status.StatusCode) {
- case CommonStatusCodes.Success:
- Toast.MakeText (this, GetString (Resource.String.plus_write_moment_status_success), ToastLength.Short).Show ();
- break;
-
- case CommonStatusCodes.SuccessCache:
- Toast.MakeText(this, GetString (Resource.String.plus_write_moment_status_cached), ToastLength.Short).Show ();
- break;
-
- case CommonStatusCodes.SignInRequired:
- Toast.MakeText (this, GetString (Resource.String.plus_write_moment_status_auth_error), ToastLength.Short).Show();
- mGoogleApiClient.Disconnect();
- mGoogleApiClient.Connect();
- break;
-
- default:
- Toast.MakeText (this, GetString (Resource.String.plus_write_moment_status_error),
- ToastLength.Short).Show();
- Console.WriteLine ("Error when writing moments: " + status);
- break;
- }
- });
- }
- };
-
- mResolvingError = savedInstanceState != null
- && savedInstanceState.GetBoolean (STATE_RESOLVING_ERROR, false);
-
- var available = GooglePlayServicesUtil.IsGooglePlayServicesAvailable (this);
- if (available != CommonStatusCodes.Success) {
- ShowDialog (DIALOG_GET_GOOGLE_PLAY_SERVICES);
- }
-
- if (Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb) {
- ActionBar.SetDisplayHomeAsUpEnabled (true);
- }
- }
+//using System;
+//using System.Collections.Generic;
+//using System.Linq;
+//using System.Text;
+
+//using Android.App;
+//using Android.Content;
+//using Android.OS;
+//using Android.Runtime;
+//using Android.Views;
+//using Android.Widget;
+//using Android.Gms.Plus.Model.Moments;
+//using Android.Gms.Plus;
+//using Android.Gms.Common;
+//using Android.Gms.Common.Apis;
+
+//namespace PlusSample
+//{
+// [Activity (Label = "Moment")]
+// public class MomentActivity : Activity, GoogleApiClient.IConnectionCallbacks, GoogleApiClient.IOnConnectionFailedListener, IDialogInterfaceOnCancelListener
+// {
+// const string TAG = "MomentActivity";
+
+// const string STATE_RESOLVING_ERROR = "resolvingError";
+
+// const int DIALOG_GET_GOOGLE_PLAY_SERVICES = 1;
+
+// const int REQUEST_CODE_SIGN_IN = 1;
+// const int REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES = 2;
+
+// GoogleApiClient mGoogleApiClient;
+// ArrayAdapter mListAdapter;
+// ListView mMomentListView;
+// bool mResolvingError;
+
+// protected override void OnCreate (Bundle savedInstanceState)
+// {
+// base.OnCreate (savedInstanceState);
+
+// SetContentView (Resource.Layout.multi_moment_activity);
+
+// var options = new PlusClass.PlusOptions.Builder().AddActivityTypes (MomentUtil.ACTIONS).Build ();
+// mGoogleApiClient = new GoogleApiClient.Builder (this)
+// .AddConnectionCallbacks(this)
+// .AddOnConnectionFailedListener(this)
+// .AddApi (PlusClass.API, options)
+// .AddScope (PlusClass.ScopePlusLogin)
+// .Build ();
+
+// mListAdapter = new ArrayAdapter(
+// this, Android.Resource.Layout.SimpleListItem1, MomentUtil.MOMENT_LIST);
+// mMomentListView = FindViewById(Resource.Id.moment_list);
+// mMomentListView.ItemClick += (sender, e) => {
+// if (mGoogleApiClient.IsConnected) {
+// var textView = e.View as TextView;
+// var momentType = textView.Text;
+// var targetUrl = MomentUtil.MOMENT_TYPES[momentType];
+
+// var target = new ItemScopeBuilder ().SetUrl(targetUrl).Build ();
+
+// var momentBuilder = new MomentBuilder ();
+// momentBuilder.SetType ("http://schemas.google.com/" + momentType);
+// momentBuilder.SetTarget (target);
+
+// var result = MomentUtil.GetResultFor (momentType);
+// if (result != null)
+// momentBuilder.SetResult (result);
+
+// PlusClass.MomentsApi.Write (mGoogleApiClient, momentBuilder.Build ()).SetResultCallback (status =>
+// {
+// switch (status.StatusCode) {
+// case CommonStatusCodes.Success:
+// Toast.MakeText (this, GetString (Resource.String.plus_write_moment_status_success), ToastLength.Short).Show ();
+// break;
+
+// case CommonStatusCodes.SuccessCache:
+// Toast.MakeText(this, GetString (Resource.String.plus_write_moment_status_cached), ToastLength.Short).Show ();
+// break;
+
+// case CommonStatusCodes.SignInRequired:
+// Toast.MakeText (this, GetString (Resource.String.plus_write_moment_status_auth_error), ToastLength.Short).Show();
+// mGoogleApiClient.Disconnect();
+// mGoogleApiClient.Connect();
+// break;
+
+// default:
+// Toast.MakeText (this, GetString (Resource.String.plus_write_moment_status_error),
+// ToastLength.Short).Show();
+// Console.WriteLine ("Error when writing moments: " + status);
+// break;
+// }
+// });
+// }
+// };
+
+// mResolvingError = savedInstanceState != null
+// && savedInstanceState.GetBoolean (STATE_RESOLVING_ERROR, false);
+
+// var available = GooglePlayServicesUtil.IsGooglePlayServicesAvailable (this);
+// if (available != CommonStatusCodes.Success) {
+// ShowDialog (DIALOG_GET_GOOGLE_PLAY_SERVICES);
+// }
+
+// if (Build.VERSION.SdkInt >= BuildVersionCodes.Honeycomb) {
+// ActionBar.SetDisplayHomeAsUpEnabled (true);
+// }
+// }
- protected override Dialog OnCreateDialog (int id)
- {
- if (id != DIALOG_GET_GOOGLE_PLAY_SERVICES) {
- return base.OnCreateDialog (id);
- }
-
- int available = GooglePlayServicesUtil.IsGooglePlayServicesAvailable (this);
- if (available == CommonStatusCodes.Success) {
- return null;
- }
- if (GooglePlayServicesUtil.IsUserRecoverableError (available)) {
- return GooglePlayServicesUtil.GetErrorDialog(
- available, this, REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES, this);
- }
- return new AlertDialog.Builder(this)
- .SetMessage (Resource.String.plus_generic_error)
- .SetCancelable (true)
- .SetOnCancelListener(this)
- .Create();
- }
+// protected override Dialog OnCreateDialog (int id)
+// {
+// if (id != DIALOG_GET_GOOGLE_PLAY_SERVICES) {
+// return base.OnCreateDialog (id);
+// }
+
+// int available = GooglePlayServicesUtil.IsGooglePlayServicesAvailable (this);
+// if (available == CommonStatusCodes.Success) {
+// return null;
+// }
+// if (GooglePlayServicesUtil.IsUserRecoverableError (available)) {
+// return GooglePlayServicesUtil.GetErrorDialog(
+// available, this, REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES, this);
+// }
+// return new AlertDialog.Builder(this)
+// .SetMessage (Resource.String.plus_generic_error)
+// .SetCancelable (true)
+// .SetOnCancelListener(this)
+// .Create();
+// }
- protected override void OnStart()
- {
- base.OnStart ();
- mGoogleApiClient.Connect ();
- }
+// protected override void OnStart()
+// {
+// base.OnStart ();
+// mGoogleApiClient.Connect ();
+// }
- protected override void OnStop ()
- {
- mGoogleApiClient.Disconnect();
- base.OnStop();
- }
+// protected override void OnStop ()
+// {
+// mGoogleApiClient.Disconnect();
+// base.OnStop();
+// }
- protected override void OnActivityResult (int requestCode, Result resultCode, Intent data)
- {
- switch (requestCode) {
- case REQUEST_CODE_SIGN_IN:
- mResolvingError = false;
- handleResult(resultCode);
- break;
- case REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES:
- handleResult(resultCode);
- break;
- }
- }
-
- void handleResult(Result resultCode)
- {
- if (resultCode == Result.Ok) {
- // onActivityResult is called after onStart (but onStart is not
- // guaranteed to be called while signing in), so we should make
- // sure we're not already connecting before we call connect again.
- if (!mGoogleApiClient.IsConnecting && !mGoogleApiClient.IsConnected) {
- mGoogleApiClient.Connect ();
- }
- } else {
- Console.WriteLine ("Unable to sign the user in.");
- Finish();
- }
- }
+// protected override void OnActivityResult (int requestCode, Result resultCode, Intent data)
+// {
+// switch (requestCode) {
+// case REQUEST_CODE_SIGN_IN:
+// mResolvingError = false;
+// handleResult(resultCode);
+// break;
+// case REQUEST_CODE_GET_GOOGLE_PLAY_SERVICES:
+// handleResult(resultCode);
+// break;
+// }
+// }
+
+// void handleResult(Result resultCode)
+// {
+// if (resultCode == Result.Ok) {
+// // onActivityResult is called after onStart (but onStart is not
+// // guaranteed to be called while signing in), so we should make
+// // sure we're not already connecting before we call connect again.
+// if (!mGoogleApiClient.IsConnecting && !mGoogleApiClient.IsConnected) {
+// mGoogleApiClient.Connect ();
+// }
+// } else {
+// Console.WriteLine ("Unable to sign the user in.");
+// Finish();
+// }
+// }
- protected override void OnSaveInstanceState (Bundle outState)
- {
- base.OnSaveInstanceState(outState);
- outState.PutBoolean (STATE_RESOLVING_ERROR, mResolvingError);
- }
+// protected override void OnSaveInstanceState (Bundle outState)
+// {
+// base.OnSaveInstanceState(outState);
+// outState.PutBoolean (STATE_RESOLVING_ERROR, mResolvingError);
+// }
- public void OnConnected(Bundle connectionHint)
- {
- mMomentListView.Adapter = mListAdapter;
- }
+// public void OnConnected(Bundle connectionHint)
+// {
+// mMomentListView.Adapter = mListAdapter;
+// }
- public void OnConnectionSuspended (int cause)
- {
- mMomentListView.Adapter = null;
- }
+// public void OnConnectionSuspended (int cause)
+// {
+// mMomentListView.Adapter = null;
+// }
- public void OnConnectionFailed (Android.Gms.Common.ConnectionResult result)
- {
- mMomentListView.Adapter = null;
- if (mResolvingError) {
- return;
- }
- try {
- result.StartResolutionForResult (this, REQUEST_CODE_SIGN_IN);
- mResolvingError = true;
- } catch (IntentSender.SendIntentException e) {
- // Reconnect to get another intent to start.
- mGoogleApiClient.Connect ();
- }
- }
-
- public void OnCancel (IDialogInterface dialog)
- {
- Console.WriteLine ("Unable to sign the user in.");
- Finish();
- }
+// public void OnConnectionFailed (Android.Gms.Common.ConnectionResult result)
+// {
+// mMomentListView.Adapter = null;
+// if (mResolvingError) {
+// return;
+// }
+// try {
+// result.StartResolutionForResult (this, REQUEST_CODE_SIGN_IN);
+// mResolvingError = true;
+// } catch (IntentSender.SendIntentException e) {
+// // Reconnect to get another intent to start.
+// mGoogleApiClient.Connect ();
+// }
+// }
+
+// public void OnCancel (IDialogInterface dialog)
+// {
+// Console.WriteLine ("Unable to sign the user in.");
+// Finish();
+// }
- public override bool OnOptionsItemSelected (IMenuItem item)
- {
- switch (item.ItemId) {
- case Android.Resource.Id.Home:
- var intent = new Intent(this, typeof (PlusSampleActivity));
- intent.AddFlags (ActivityFlags.ClearTop);
- StartActivity(intent);
- Finish();
- return true;
-
- default:
- return base.OnOptionsItemSelected(item);
- }
- }
- }
-}
+// public override bool OnOptionsItemSelected (IMenuItem item)
+// {
+// switch (item.ItemId) {
+// case Android.Resource.Id.Home:
+// var intent = new Intent(this, typeof (PlusSampleActivity));
+// intent.AddFlags (ActivityFlags.ClearTop);
+// StartActivity(intent);
+// Finish();
+// return true;
+
+// default:
+// return base.OnOptionsItemSelected(item);
+// }
+// }
+// }
+//}
diff --git a/plus/samples/PlusSample/MomentUtil.cs b/plus/samples/PlusSample/MomentUtil.cs
index 90fbb2474..6dbc2f5ce 100644
--- a/plus/samples/PlusSample/MomentUtil.cs
+++ b/plus/samples/PlusSample/MomentUtil.cs
@@ -1,105 +1,105 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using Android.Gms.Plus.Model.Moments;
+//using System;
+//using System.Collections.Generic;
+//using System.Linq;
+//using Android.Gms.Plus.Model.Moments;
-namespace PlusSample
-{
- public class MomentUtil
- {
- /**
- * A mapping of moment type to target URL.
- */
- public static Dictionary MOMENT_TYPES;
+//namespace PlusSample
+//{
+// public class MomentUtil
+// {
+// /**
+// * A mapping of moment type to target URL.
+// */
+// public static Dictionary MOMENT_TYPES;
- /**
- * A list of moment target types.
- */
- public static List MOMENT_LIST;
- public static string[] ACTIONS;
+// /**
+// * A list of moment target types.
+// */
+// public static List MOMENT_LIST;
+// public static string[] ACTIONS;
- static MomentUtil ()
- {
- MOMENT_TYPES = new Dictionary (9);
- MOMENT_TYPES.Add ("AddActivity", "https://developers.google.com/+/plugins/snippet/examples/thing");
- MOMENT_TYPES.Add ("BuyActivity", "https://developers.google.com/+/plugins/snippet/examples/a-book");
- MOMENT_TYPES.Add ("CheckInActivity", "https://developers.google.com/+/plugins/snippet/examples/place");
- MOMENT_TYPES.Add ("CommentActivity", "https://developers.google.com/+/plugins/snippet/examples/blog-entry");
- MOMENT_TYPES.Add ("CreateActivity", "https://developers.google.com/+/plugins/snippet/examples/photo");
- MOMENT_TYPES.Add ("ListenActivity", "https://developers.google.com/+/plugins/snippet/examples/song");
- MOMENT_TYPES.Add ("ReserveActivity", "https://developers.google.com/+/plugins/snippet/examples/restaurant");
- MOMENT_TYPES.Add ("ReviewActivity", "https://developers.google.com/+/plugins/snippet/examples/widget");
+// static MomentUtil ()
+// {
+// MOMENT_TYPES = new Dictionary (9);
+// MOMENT_TYPES.Add ("AddActivity", "https://developers.google.com/+/plugins/snippet/examples/thing");
+// MOMENT_TYPES.Add ("BuyActivity", "https://developers.google.com/+/plugins/snippet/examples/a-book");
+// MOMENT_TYPES.Add ("CheckInActivity", "https://developers.google.com/+/plugins/snippet/examples/place");
+// MOMENT_TYPES.Add ("CommentActivity", "https://developers.google.com/+/plugins/snippet/examples/blog-entry");
+// MOMENT_TYPES.Add ("CreateActivity", "https://developers.google.com/+/plugins/snippet/examples/photo");
+// MOMENT_TYPES.Add ("ListenActivity", "https://developers.google.com/+/plugins/snippet/examples/song");
+// MOMENT_TYPES.Add ("ReserveActivity", "https://developers.google.com/+/plugins/snippet/examples/restaurant");
+// MOMENT_TYPES.Add ("ReviewActivity", "https://developers.google.com/+/plugins/snippet/examples/widget");
- MOMENT_LIST = new List (MomentUtil.MOMENT_TYPES.Keys);
- MOMENT_LIST.Sort ();
+// MOMENT_LIST = new List (MomentUtil.MOMENT_TYPES.Keys);
+// MOMENT_LIST.Sort ();
- ACTIONS = MOMENT_TYPES.Keys.ToArray ();
- int count = ACTIONS.Length;
- for (int i = 0; i < count; i++)
- ACTIONS[i] = "http://schemas.google.com/" + ACTIONS[i];
- }
+// ACTIONS = MOMENT_TYPES.Keys.ToArray ();
+// int count = ACTIONS.Length;
+// for (int i = 0; i < count; i++)
+// ACTIONS[i] = "http://schemas.google.com/" + ACTIONS[i];
+// }
- /**
- * Generates the "result" JSON object for select moments.
- *
- * @param momentType The type of the moment.
- */
- public static IItemScope GetResultFor (String momentType)
- {
- if (momentType.Equals ("CommentActivity"))
- return GetCommentActivityResult ();
- if (momentType.Equals("ReserveActivity"))
- return GetReserveActivityResult();
- if (momentType.Equals("ReviewActivity"))
- return GetReviewActivityResult();
- return null;
- }
+// /**
+// * Generates the "result" JSON object for select moments.
+// *
+// * @param momentType The type of the moment.
+// */
+// public static IItemScope GetResultFor (String momentType)
+// {
+// if (momentType.Equals ("CommentActivity"))
+// return GetCommentActivityResult ();
+// if (momentType.Equals("ReserveActivity"))
+// return GetReserveActivityResult();
+// if (momentType.Equals("ReviewActivity"))
+// return GetReviewActivityResult();
+// return null;
+// }
- /**
- * Generates the "result" JSON object for CommentActivity moment.
- */
- static IItemScope GetCommentActivityResult()
- {
- return new ItemScopeBuilder ()
- .SetType("http://schema.org/Comment")
- .SetUrl("https://developers.google.com/+/plugins/snippet/examples/blog-entry#comment-1")
- .SetName("This is amazing!")
- .SetText("I can't wait to use it on my site!")
- .Build();
- }
+// /**
+// * Generates the "result" JSON object for CommentActivity moment.
+// */
+// static IItemScope GetCommentActivityResult()
+// {
+// return new ItemScopeBuilder ()
+// .SetType("http://schema.org/Comment")
+// .SetUrl("https://developers.google.com/+/plugins/snippet/examples/blog-entry#comment-1")
+// .SetName("This is amazing!")
+// .SetText("I can't wait to use it on my site!")
+// .Build();
+// }
- /**
- * Generates the "result" JSON object for ReserveActivity moment.
- */
- static IItemScope GetReserveActivityResult()
- {
- return new ItemScopeBuilder ()
- .SetType("http://schemas.google.com/Reservation")
- .SetStartDate("2012-06-28T19:00:00-08:00")
- .SetAttendeeCount(3)
- .Build();
- }
+// /**
+// * Generates the "result" JSON object for ReserveActivity moment.
+// */
+// static IItemScope GetReserveActivityResult()
+// {
+// return new ItemScopeBuilder ()
+// .SetType("http://schemas.google.com/Reservation")
+// .SetStartDate("2012-06-28T19:00:00-08:00")
+// .SetAttendeeCount(3)
+// .Build();
+// }
- /**
- * Generates the "result" JSON object for ReviewActivity moment.
- */
- static IItemScope GetReviewActivityResult()
- {
- var rating = new ItemScopeBuilder ()
- .SetType("http://schema.org/Rating")
- .SetRatingValue("100")
- .SetBestRating("100")
- .SetWorstRating("0")
- .Build();
+// /**
+// * Generates the "result" JSON object for ReviewActivity moment.
+// */
+// static IItemScope GetReviewActivityResult()
+// {
+// var rating = new ItemScopeBuilder ()
+// .SetType("http://schema.org/Rating")
+// .SetRatingValue("100")
+// .SetBestRating("100")
+// .SetWorstRating("0")
+// .Build();
- return new ItemScopeBuilder ()
- .SetType("http://schema.org/Review")
- .SetName("A Humble Review of Widget")
- .SetUrl("https://developers.google.com/+/plugins/snippet/examples/review")
- .SetText("It is amazingly effective")
- .SetReviewRating(rating)
- .Build();
- }
- }
-}
+// return new ItemScopeBuilder ()
+// .SetType("http://schema.org/Review")
+// .SetName("A Humble Review of Widget")
+// .SetUrl("https://developers.google.com/+/plugins/snippet/examples/review")
+// .SetText("It is amazingly effective")
+// .SetReviewRating(rating)
+// .Build();
+// }
+// }
+//}
diff --git a/plus/samples/PlusSample/PlusSample.csproj b/plus/samples/PlusSample/PlusSample.csproj
index 0b0884a4b..2c4591971 100644
--- a/plus/samples/PlusSample/PlusSample.csproj
+++ b/plus/samples/PlusSample/PlusSample.csproj
@@ -13,9 +13,10 @@
Resource
Resources\Resource.designer.cs
True
- True
+ false
PlusSample
- v5.1
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
full
@@ -37,15 +37,29 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -90,7 +104,7 @@
-
+
{3F6BAE25-ADEB-468C-8384-AD655623C341}
@@ -104,6 +118,10 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
diff --git a/plus/samples/PlusSample/PlusSampleActivity.cs b/plus/samples/PlusSample/PlusSampleActivity.cs
index cc8cbe403..32ce25eef 100644
--- a/plus/samples/PlusSample/PlusSampleActivity.cs
+++ b/plus/samples/PlusSample/PlusSampleActivity.cs
@@ -25,8 +25,8 @@ static PlusSampleActivity ()
SAMPLES_MAP.Add ("Sign in", typeof (SignInActivity));
SAMPLES_MAP.Add ("+1", typeof (PlusOneActivity));
SAMPLES_MAP.Add ("Send interactive post", typeof (ShareActivity));
- SAMPLES_MAP.Add ("Write moments", typeof (MomentActivity));
- SAMPLES_MAP.Add ("List & remove moments", typeof (ListMomentsActivity));
+ //SAMPLES_MAP.Add ("Write moments", typeof (MomentActivity));
+ //SAMPLES_MAP.Add ("List & remove moments", typeof (ListMomentsActivity));
SAMPLES_MAP.Add ("List visible people (circled by you)", typeof (ListVisiblePeopleActivity));
SAMPLES_MAP.Add ("List connected people", typeof (ListConnectedPeopleActivity));
SAMPLES_MAP.Add ("License info", typeof (LicenseActivity));
diff --git a/plus/samples/PlusSample/Properties/AssemblyInfo.cs b/plus/samples/PlusSample/Properties/AssemblyInfo.cs
index 8c379fdb5..87d8ce499 100644
--- a/plus/samples/PlusSample/Properties/AssemblyInfo.cs
+++ b/plus/samples/PlusSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("PlusSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/plus/samples/PlusSample/SignInActivity.cs b/plus/samples/PlusSample/SignInActivity.cs
index a2f1da111..b33cb8a50 100644
--- a/plus/samples/PlusSample/SignInActivity.cs
+++ b/plus/samples/PlusSample/SignInActivity.cs
@@ -173,8 +173,8 @@ GoogleApiClient buildGoogleApiClient (bool useProfileScope)
builder.AddApi (PlusClass.API)
.AddScope (PlusClass.ScopePlusProfile);
} else {
- builder.AddApi (PlusClass.API, new PlusClass.PlusOptions.Builder ()
- .AddActivityTypes (MomentUtil.ACTIONS).Build ())
+ //var options = new PlusClass.PlusOptions.Builder ().AddActivityTypes (MomentUtil.ACTIONS).Build ();
+ builder.AddApi (PlusClass.API) //, options)
.AddScope (PlusClass.ScopePlusLogin);
}
diff --git a/plus/samples/PlusSample/packages.config b/plus/samples/PlusSample/packages.config
index 6cb850330..71e0c9953 100644
--- a/plus/samples/PlusSample/packages.config
+++ b/plus/samples/PlusSample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/plus/source/Additions/DataBufferAdditions.cs b/plus/source/Additions/DataBufferAdditions.cs
index 25fc2fe29..0bc39d63d 100644
--- a/plus/source/Additions/DataBufferAdditions.cs
+++ b/plus/source/Additions/DataBufferAdditions.cs
@@ -2,21 +2,21 @@
using System.Linq;
using System.Collections.Generic;
-namespace Android.Gms.Plus.Model.Moments
-{
- public partial class MomentBuffer : IEnumerable
- {
- public IEnumerator GetEnumerator()
- {
- return this.ToEnumerable ().GetEnumerator();
- }
+//namespace Android.Gms.Plus.Model.Moments
+//{
+// public partial class MomentBuffer : IEnumerable
+// {
+// public IEnumerator GetEnumerator()
+// {
+// return this.ToEnumerable ().GetEnumerator();
+// }
- System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
- {
- return this.GetEnumerator();
- }
- }
-}
+// System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
+// {
+// return this.GetEnumerator();
+// }
+// }
+//}
namespace Android.Gms.Plus.Model.People
{
diff --git a/plus/source/Additions/IPendingResultExtensions.cs b/plus/source/Additions/IPendingResultExtensions.cs
index 653ebb569..0703ffaaf 100644
--- a/plus/source/Additions/IPendingResultExtensions.cs
+++ b/plus/source/Additions/IPendingResultExtensions.cs
@@ -8,50 +8,56 @@ namespace Android.Gms.Plus
{
public static partial class IAccountExtensions
{
+ [Obsolete ("deprecated")]
public static async Task RevokeAccessAndDisconnectAsync (this IAccount api, GoogleApiClient googleApiClient)
{
return (await api.RevokeAccessAndDisconnect (googleApiClient)).JavaCast ();
}
}
- public static partial class IMomentsExtensions
- {
- public static async Task LoadAsync (this IMoments api, GoogleApiClient googleApiClient)
- {
- return (await api.Load (googleApiClient)).JavaCast ();
- }
- public static async Task LoadAsync (this IMoments api, GoogleApiClient googleApiClient, int maxResults, string pageToken, Android.Net.Uri targetUrl, string type, string userId)
- {
- return (await api.Load (googleApiClient, maxResults, pageToken, targetUrl, type, userId)).JavaCast ();
- }
- public static async Task RemoveAsync (this IMoments api, GoogleApiClient googleApiClient, string momentId)
- {
- return (await api.Remove (googleApiClient, momentId)).JavaCast ();
- }
- public static async Task WriteAsync (this IMoments api, GoogleApiClient googleApiClient, Android.Gms.Plus.Model.Moments.IMoment moment)
- {
- return (await api.Write (googleApiClient, moment)).JavaCast ();
- }
- }
+ //public static partial class IMomentsExtensions
+ //{
+ // public static async Task LoadAsync (this IMoments api, GoogleApiClient googleApiClient)
+ // {
+ // return (await api.Load (googleApiClient)).JavaCast ();
+ // }
+ // public static async Task LoadAsync (this IMoments api, GoogleApiClient googleApiClient, int maxResults, string pageToken, Android.Net.Uri targetUrl, string type, string userId)
+ // {
+ // return (await api.Load (googleApiClient, maxResults, pageToken, targetUrl, type, userId)).JavaCast ();
+ // }
+ // public static async Task RemoveAsync (this IMoments api, GoogleApiClient googleApiClient, string momentId)
+ // {
+ // return (await api.Remove (googleApiClient, momentId)).JavaCast ();
+ // }
+ // public static async Task WriteAsync (this IMoments api, GoogleApiClient googleApiClient, Android.Gms.Plus.Model.Moments.IMoment moment)
+ // {
+ // return (await api.Write (googleApiClient, moment)).JavaCast ();
+ // }
+ //}
public static partial class IPeopleExtensions
{
+ [Obsolete ("deprecated")]
public static async Task LoadAsync (this IPeople api, GoogleApiClient googleApiClient, ICollection personIds)
{
return (await api.Load (googleApiClient, personIds)).JavaCast ();
}
+ [Obsolete ("deprecated")]
public static async Task LoadAsync (this IPeople api, GoogleApiClient googleApiClient, params string[] personIds)
{
return (await api.Load (googleApiClient, personIds)).JavaCast ();
}
+ [Obsolete ("deprecated")]
public static async Task LoadConnectedAsync (this IPeople api, GoogleApiClient googleApiClient)
{
return (await api.LoadConnected (googleApiClient)).JavaCast ();
}
+ [Obsolete ("deprecated")]
public static async Task LoadVisibleAsync (this IPeople api, GoogleApiClient googleApiClient, int orderBy, string pageToken)
{
return (await api.LoadVisible (googleApiClient, orderBy, pageToken)).JavaCast ();
}
+ [Obsolete ("deprecated")]
public static async Task LoadVisibleAsync (this IPeople api, GoogleApiClient googleApiClient, string pageToken)
{
return (await api.LoadVisible (googleApiClient, pageToken)).JavaCast ();
diff --git a/plus/source/Plus.csproj b/plus/source/Plus.csproj
index a97e3a861..1db32f4dd 100644
--- a/plus/source/Plus.csproj
+++ b/plus/source/Plus.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{A2B43C02-A237-4222-999E-3354CBB6DB8D}
Library
GooglePlayServices.Plus
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.Plus
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
+ source
+ size
+ dest
+ flags
+
+
public override
Java.Lang.Object
diff --git a/plus/source/packages.config b/plus/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/plus/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/safetynet/component/component.template.yaml b/safetynet/component/component.template.yaml
index 71f5225b3..3d316bea5 100644
--- a/safetynet/component/component.template.yaml
+++ b/safetynet/component/component.template.yaml
@@ -4,15 +4,10 @@ id: googleplayservices-safetynet
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: "Services for analyzing the configuration of a particular device."
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-safetynet_128x128.png
- - icons/googleplayservices-safetynet_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.SafetyNet.dll
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
+ - ../../icons/play-services-safetynet_128x128.png
+ - ../../icons/play-services-safetynet_512x512.png
is_shell: true
packages:
android:
@@ -21,14 +16,16 @@ samples:
- name: "SafetyNet Sample"
path: ../../safetynet/samples/SafetyNetSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.SafetyNet
+ - Base
+ - Basement
+ - Tasks
+ - SafetyNet
installNuGets:
- project: SafetyNetSample
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.SafetyNet
local-nuget-repo: ../../output/
no_build: true
diff --git a/safetynet/component/icons/googleplayservices-safetynet_128x128.png b/safetynet/component/icons/googleplayservices-safetynet_128x128.png
deleted file mode 100644
index 2f3bcecc1..000000000
Binary files a/safetynet/component/icons/googleplayservices-safetynet_128x128.png and /dev/null differ
diff --git a/safetynet/component/icons/googleplayservices-safetynet_512x512.png b/safetynet/component/icons/googleplayservices-safetynet_512x512.png
deleted file mode 100644
index 815d82bc8..000000000
Binary files a/safetynet/component/icons/googleplayservices-safetynet_512x512.png and /dev/null differ
diff --git a/safetynet/nuget/Xamarin.GooglePlayServices.SafetyNet.nuspec b/safetynet/nuget/Xamarin.GooglePlayServices.SafetyNet.template.nuspec
similarity index 76%
rename from safetynet/nuget/Xamarin.GooglePlayServices.SafetyNet.nuspec
rename to safetynet/nuget/Xamarin.GooglePlayServices.SafetyNet.template.nuspec
index f2f368545..03dbeb7ad 100644
--- a/safetynet/nuget/Xamarin.GooglePlayServices.SafetyNet.nuspec
+++ b/safetynet/nuget/Xamarin.GooglePlayServices.SafetyNet.template.nuspec
@@ -7,22 +7,22 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - SafetyNet
+ Xamarin.Android Bindings for Google Play Services - SafetyNet $aar-version$
- Xamarin.Android Bindings for Google Play Services - SafetyNet
+ Xamarin.Android Bindings for Google Play Services - SafetyNet $aar-version$
SafetyNet provides services for analyzing the configuration of a particular device, to make sure that apps function properly on a particular device and that users have a great experience.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-safetynet/
http://components.xamarin.com/license/googleplayservices-safetynet/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.SafetyNet.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-safetynet_128x128.png
-
+
diff --git a/safetynet/samples/SafetyNetSample.UITests/SafetyNetSample.UITests.csproj b/safetynet/samples/SafetyNetSample.UITests/SafetyNetSample.UITests.csproj
index 18ddd965b..d47bd1c5c 100644
--- a/safetynet/samples/SafetyNetSample.UITests/SafetyNetSample.UITests.csproj
+++ b/safetynet/samples/SafetyNetSample.UITests/SafetyNetSample.UITests.csproj
@@ -33,7 +33,7 @@
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
diff --git a/safetynet/samples/SafetyNetSample.UITests/packages.config b/safetynet/samples/SafetyNetSample.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/safetynet/samples/SafetyNetSample.UITests/packages.config
+++ b/safetynet/samples/SafetyNetSample.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/safetynet/samples/SafetyNetSample.sln b/safetynet/samples/SafetyNetSample.sln
index 171c13f35..9ccc937d8 100644
--- a/safetynet/samples/SafetyNetSample.sln
+++ b/safetynet/samples/SafetyNetSample.sln
@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SafetyNet", "..\source\Safe
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\source\Basement.csproj", "{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -37,5 +39,9 @@ Global
{D6472554-E92E-4947-B072-2BF0F65E77C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D6472554-E92E-4947-B072-2BF0F65E77C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D6472554-E92E-4947-B072-2BF0F65E77C9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/safetynet/samples/SafetyNetSample/Properties/AndroidManifest.xml b/safetynet/samples/SafetyNetSample/Properties/AndroidManifest.xml
index 1b3246974..4cefbe2c4 100644
--- a/safetynet/samples/SafetyNetSample/Properties/AndroidManifest.xml
+++ b/safetynet/samples/SafetyNetSample/Properties/AndroidManifest.xml
@@ -3,4 +3,5 @@
+
diff --git a/safetynet/samples/SafetyNetSample/Properties/AssemblyInfo.cs b/safetynet/samples/SafetyNetSample/Properties/AssemblyInfo.cs
index 6a37a1a3a..9d9623954 100644
--- a/safetynet/samples/SafetyNetSample/Properties/AssemblyInfo.cs
+++ b/safetynet/samples/SafetyNetSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("SafetyNetSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/safetynet/samples/SafetyNetSample/SafetyNetSample.csproj b/safetynet/samples/SafetyNetSample/SafetyNetSample.csproj
index 2de9669b4..5f9fcc017 100644
--- a/safetynet/samples/SafetyNetSample/SafetyNetSample.csproj
+++ b/safetynet/samples/SafetyNetSample/SafetyNetSample.csproj
@@ -13,9 +13,10 @@
Resource
Resources\Resource.designer.cs
True
- True
+ false
SafetyNetSample
- v5.1
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
full
@@ -37,17 +37,31 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
+
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
-
@@ -69,7 +83,7 @@
-
+
{3F6BAE25-ADEB-468C-8384-AD655623C341}
@@ -83,5 +97,9 @@
{6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
Basement
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
\ No newline at end of file
diff --git a/safetynet/samples/SafetyNetSample/packages.config b/safetynet/samples/SafetyNetSample/packages.config
index 01c2aac28..71e0c9953 100644
--- a/safetynet/samples/SafetyNetSample/packages.config
+++ b/safetynet/samples/SafetyNetSample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/safetynet/source/Additions/IPendingResultExtensions.cs b/safetynet/source/Additions/IPendingResultExtensions.cs
index d46af359a..f61f205aa 100644
--- a/safetynet/source/Additions/IPendingResultExtensions.cs
+++ b/safetynet/source/Additions/IPendingResultExtensions.cs
@@ -16,5 +16,9 @@ public static async Task LookupUriAsync (this I
{
return (await api.LookupUri (googleApiClient, threatTypes, uri)).JavaCast ();
}
+ public static async Task LookupUri (this ISafetyNetApi api, GoogleApiClient client, string uri, int [] threatTypes)
+ {
+ return (await api.LookupUri (client, uri, threatTypes)).JavaCast ();
+ }
}
}
diff --git a/safetynet/source/Properties/AssemblyInfo.cs b/safetynet/source/Properties/AssemblyInfo.cs
index 276aca42c..9974a2827 100644
--- a/safetynet/source/Properties/AssemblyInfo.cs
+++ b/safetynet/source/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.SafetyNet")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("Xamarin")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
@@ -27,21 +27,22 @@
//[assembly: AssemblyKeyFile("")]
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS SafetyNet";
public const string AarPath = "m2repository/com/google/android/gms/play-services-safetynet/" + __GpsConsts.Version + "/play-services-safetynet-" + __GpsConsts.Version + ".aar";
}
diff --git a/safetynet/source/SafetyNet.csproj b/safetynet/source/SafetyNet.csproj
index 3c09b9890..c16aaaa7f 100644
--- a/safetynet/source/SafetyNet.csproj
+++ b/safetynet/source/SafetyNet.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{7A015585-036A-4BD1-8D46-A669EFA89743}
Library
GooglePlayServices.SafetyNet
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.SafetyNet
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
+ source
+ size
+ dest
+ flags
+
diff --git a/safetynet/source/packages.config b/safetynet/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/safetynet/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/support-wearable/component/component.template.yaml b/support-wearable/component/component.template.yaml
index f74bb7e57..5ef52d732 100755
--- a/support-wearable/component/component.template.yaml
+++ b/support-wearable/component/component.template.yaml
@@ -6,11 +6,8 @@ publisher-url: http://xamarin.com
summary: Extends the Android platform to a new generation of wearable devices.
is_shell: true
icons:
- - icons/androidwear_128x128.png
- - icons/androidwear_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.Android.Wearable.dll
+ - ../../icons/play-services-support-wearable_128x128.png
+ - ../../icons/play-services-support-wearable_512x512.png
packages:
android:
- Xamarin.Android.Wear, Version=$wear-nuget-version$
diff --git a/support-wearable/component/icons/androidwear_128x128.png b/support-wearable/component/icons/androidwear_128x128.png
deleted file mode 100644
index d550711cb..000000000
Binary files a/support-wearable/component/icons/androidwear_128x128.png and /dev/null differ
diff --git a/support-wearable/component/icons/androidwear_512x512.png b/support-wearable/component/icons/androidwear_512x512.png
deleted file mode 100644
index 8c0eec664..000000000
Binary files a/support-wearable/component/icons/androidwear_512x512.png and /dev/null differ
diff --git a/support-wearable/nuget/Xamarin.Android.Wear.nuspec b/support-wearable/nuget/Xamarin.Android.Wear.template.nuspec
similarity index 80%
rename from support-wearable/nuget/Xamarin.Android.Wear.nuspec
rename to support-wearable/nuget/Xamarin.Android.Wear.template.nuspec
index a2f688ebe..9c43fc239 100644
--- a/support-wearable/nuget/Xamarin.Android.Wear.nuspec
+++ b/support-wearable/nuget/Xamarin.Android.Wear.template.nuspec
@@ -7,9 +7,9 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Android Wear Support and Wear Compat
+ Xamarin.Android Bindings for Android Wear Support and Wear Compat $aar-version$
- Xamarin.Android Bindings for Android Wear Support and Wear Compat.
+ Xamarin.Android Bindings for Android Wear Support and Wear Compat $aar-version$
Small, powerful devices, worn on the body. Useful information when you need it most. Intelligent answers to spoken questions. Tools to help reach fitness goals. Your key to a multiscreen world.
@@ -19,16 +19,16 @@
You may also want to install the Xamarin.GooglePlayServices.Wearable package if you are installing this.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/androidwear/
http://components.xamarin.com/license/androidwear/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.Android.Wear.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-support-wearable_128x128.png
-
+
diff --git a/support-wearable/samples/MultiPageSample/Properties/AndroidManifest.xml b/support-wearable/samples/MultiPageSample/Properties/AndroidManifest.xml
index b8bd49cec..c5569fa6c 100644
--- a/support-wearable/samples/MultiPageSample/Properties/AndroidManifest.xml
+++ b/support-wearable/samples/MultiPageSample/Properties/AndroidManifest.xml
@@ -3,4 +3,5 @@
+
diff --git a/support-wearable/samples/MultiPageSample/Properties/AssemblyInfo.cs b/support-wearable/samples/MultiPageSample/Properties/AssemblyInfo.cs
index e3aa74f5a..9e5445048 100644
--- a/support-wearable/samples/MultiPageSample/Properties/AssemblyInfo.cs
+++ b/support-wearable/samples/MultiPageSample/Properties/AssemblyInfo.cs
@@ -7,9 +7,9 @@
[assembly: AssemblyTitle ("MultiPageSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("billholmes")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
diff --git a/support-wearable/samples/WatchFaceSample/Properties/AndroidManifest.xml b/support-wearable/samples/WatchFaceSample/Properties/AndroidManifest.xml
index 9a2b855ff..c5bc8fc7e 100644
--- a/support-wearable/samples/WatchFaceSample/Properties/AndroidManifest.xml
+++ b/support-wearable/samples/WatchFaceSample/Properties/AndroidManifest.xml
@@ -20,4 +20,5 @@
+
\ No newline at end of file
diff --git a/support-wearable/samples/WatchFaceSample/Properties/AssemblyInfo.cs b/support-wearable/samples/WatchFaceSample/Properties/AssemblyInfo.cs
index 2c298f662..5ef577493 100644
--- a/support-wearable/samples/WatchFaceSample/Properties/AssemblyInfo.cs
+++ b/support-wearable/samples/WatchFaceSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("WatchFaceSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/support-wearable/source/Additions/Additions.cs b/support-wearable/source/Additions/Additions.cs
new file mode 100644
index 000000000..e2b631520
--- /dev/null
+++ b/support-wearable/source/Additions/Additions.cs
@@ -0,0 +1,185 @@
+using System;
+using Android.Runtime;
+using Java.Interop;
+
+namespace Android.Support.Wearable.Views
+{
+ public partial class ActionPage
+ {
+
+ public override bool Enabled {
+ get { return base.Enabled; }
+ set { SetEnabled (value); }
+ }
+
+ static Delegate cb_setEnabled_Z;
+ #pragma warning disable 0169
+ static Delegate GetSetEnabled_ZHandler ()
+ {
+ if (cb_setEnabled_Z == null)
+ cb_setEnabled_Z = JNINativeWrapper.CreateDelegate ((Action) n_SetEnabled_Z);
+ return cb_setEnabled_Z;
+ }
+
+ static void n_SetEnabled_Z (IntPtr jnienv, IntPtr native__this, bool enabled)
+ {
+ global::Android.Support.Wearable.Views.ActionPage __this = global::Java.Lang.Object.GetObject (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
+ __this.SetEnabled (enabled);
+ }
+ #pragma warning restore 0169
+
+ static IntPtr id_setEnabled_Z;
+ // Metadata.xml XPath method reference: path="/api/package[@name='android.support.wearable.view']/class[@name='ActionPage']/method[@name='setEnabled' and count(parameter)=1 and parameter[1][@type='boolean']]"
+ [Register ("setEnabled", "(Z)V", "GetSetEnabled_ZHandler")]
+ public unsafe void SetEnabled (bool enabled)
+ {
+ if (id_setEnabled_Z == IntPtr.Zero)
+ id_setEnabled_Z = JNIEnv.GetMethodID (class_ref, "setEnabled", "(Z)V");
+ try {
+ JValue* __args = stackalloc JValue [1];
+ __args [0] = new JValue (enabled);
+
+ if (GetType () == ThresholdType)
+ JNIEnv.CallVoidMethod (((global::Java.Lang.Object) this).Handle, id_setEnabled_Z, __args);
+ else
+ JNIEnv.CallNonvirtualVoidMethod (((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID (ThresholdClass, "setEnabled", "(Z)V"), __args);
+ } finally {
+ }
+ }
+
+
+
+ public global::Android.Animation.StateListAnimator StateListAnimator {
+ get { return base.StateListAnimator; }
+ set { SetStateListAnimator (value); }
+ }
+
+ static Delegate cb_setStateListAnimator_Landroid_animation_StateListAnimator_;
+#pragma warning disable 0169
+ static Delegate GetSetStateListAnimator_Landroid_animation_StateListAnimator_Handler ()
+ {
+ if (cb_setStateListAnimator_Landroid_animation_StateListAnimator_ == null)
+ cb_setStateListAnimator_Landroid_animation_StateListAnimator_ = JNINativeWrapper.CreateDelegate ((Action) n_SetStateListAnimator_Landroid_animation_StateListAnimator_);
+ return cb_setStateListAnimator_Landroid_animation_StateListAnimator_;
+ }
+
+ static void n_SetStateListAnimator_Landroid_animation_StateListAnimator_ (IntPtr jnienv, IntPtr native__this, IntPtr native_stateListAnimator)
+ {
+ global::Android.Support.Wearable.Views.ActionPage __this = global::Java.Lang.Object.GetObject (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
+ global::Android.Animation.StateListAnimator stateListAnimator = global::Java.Lang.Object.GetObject (native_stateListAnimator, JniHandleOwnership.DoNotTransfer);
+ __this.SetStateListAnimator (stateListAnimator);
+ }
+#pragma warning restore 0169
+
+ static IntPtr id_setStateListAnimator_Landroid_animation_StateListAnimator_;
+ // Metadata.xml XPath method reference: path="/api/package[@name='android.support.wearable.view']/class[@name='ActionPage']/method[@name='setStateListAnimator' and count(parameter)=1 and parameter[1][@type='android.animation.StateListAnimator']]"
+ [Register ("setStateListAnimator", "(Landroid/animation/StateListAnimator;)V", "GetSetStateListAnimator_Landroid_animation_StateListAnimator_Handler")]
+ public unsafe void SetStateListAnimator (global::Android.Animation.StateListAnimator stateListAnimator)
+ {
+ if (id_setStateListAnimator_Landroid_animation_StateListAnimator_ == IntPtr.Zero)
+ id_setStateListAnimator_Landroid_animation_StateListAnimator_ = JNIEnv.GetMethodID (class_ref, "setStateListAnimator", "(Landroid/animation/StateListAnimator;)V");
+ try {
+ JValue* __args = stackalloc JValue [1];
+ __args [0] = new JValue (stateListAnimator);
+
+ if (GetType () == ThresholdType)
+ JNIEnv.CallVoidMethod (((global::Java.Lang.Object) this).Handle, id_setStateListAnimator_Landroid_animation_StateListAnimator_, __args);
+ else
+ JNIEnv.CallNonvirtualVoidMethod (((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID (ThresholdClass, "setStateListAnimator", "(Landroid/animation/StateListAnimator;)V"), __args);
+ } finally {
+ }
+ }
+ }
+
+ public partial class RecyclerViewMergeAdapter
+ {
+ public new bool HasStableIds {
+ get { return base.HasStableIds; }
+ set { SetHasStableIds (value); }
+ }
+
+ static Delegate cb_setHasStableIds_Z;
+#pragma warning disable 0169
+ static Delegate GetSetHasStableIds_ZHandler ()
+ {
+ if (cb_setHasStableIds_Z == null)
+ cb_setHasStableIds_Z = JNINativeWrapper.CreateDelegate ((Action) n_SetHasStableIds_Z);
+ return cb_setHasStableIds_Z;
+ }
+
+ static void n_SetHasStableIds_Z (IntPtr jnienv, IntPtr native__this, bool hasStableIds)
+ {
+ global::Android.Support.Wearable.Views.RecyclerViewMergeAdapter __this = global::Java.Lang.Object.GetObject (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
+ __this.SetHasStableIds (hasStableIds);
+ }
+#pragma warning restore 0169
+
+ static IntPtr id_setHasStableIds_Z;
+ // Metadata.xml XPath method reference: path="/api/package[@name='android.support.wearable.view']/class[@name='RecyclerViewMergeAdapter']/method[@name='setHasStableIds' and count(parameter)=1 and parameter[1][@type='boolean']]"
+ [Register ("setHasStableIds", "(Z)V", "GetSetHasStableIds_ZHandler")]
+ public unsafe void SetHasStableIds (bool hasStableIds)
+ {
+ if (id_setHasStableIds_Z == IntPtr.Zero)
+ id_setHasStableIds_Z = JNIEnv.GetMethodID (class_ref, "setHasStableIds", "(Z)V");
+ try {
+ JValue* __args = stackalloc JValue [1];
+ __args [0] = new JValue (hasStableIds);
+
+ if (GetType () == ThresholdType)
+ JNIEnv.CallVoidMethod (((global::Java.Lang.Object) this).Handle, id_setHasStableIds_Z, __args);
+ else
+ JNIEnv.CallNonvirtualVoidMethod (((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID (ThresholdClass, "setHasStableIds", "(Z)V"), __args);
+ } finally {
+ }
+ }
+ }
+
+
+ public partial class WearableListView
+ {
+ private partial class SetScrollVerticallyProperty
+ {
+ static Delegate cb_get_Landroid_support_wearable_view_WearableListView_;
+ #pragma warning disable 0169
+ static Delegate GetGet_Landroid_support_wearable_view_WearableListView_Handler ()
+ {
+ if (cb_get_Landroid_support_wearable_view_WearableListView_ == null)
+ cb_get_Landroid_support_wearable_view_WearableListView_ = JNINativeWrapper.CreateDelegate ((Func) n_Get_Landroid_support_wearable_view_WearableListView_);
+ return cb_get_Landroid_support_wearable_view_WearableListView_;
+ }
+
+ static IntPtr n_Get_Landroid_support_wearable_view_WearableListView_ (IntPtr jnienv, IntPtr native__this, IntPtr native_wearableListView)
+ {
+ global::Android.Support.Wearable.Views.WearableListView.SetScrollVerticallyProperty __this = global::Java.Lang.Object.GetObject (jnienv, native__this, JniHandleOwnership.DoNotTransfer);
+ global::Android.Support.Wearable.Views.WearableListView wearableListView = global::Java.Lang.Object.GetObject (native_wearableListView, JniHandleOwnership.DoNotTransfer);
+ IntPtr __ret = JNIEnv.ToLocalJniHandle (__this.Get (wearableListView));
+ return __ret;
+ }
+ #pragma warning restore 0169
+
+ static IntPtr id_get_Landroid_support_wearable_view_WearableListView_;
+ // Metadata.xml XPath method reference: path="/api/package[@name='android.support.wearable.view']/class[@name='WearableListView.SetScrollVerticallyProperty']/method[@name='get' and count(parameter)=1 and parameter[1][@type='android.support.wearable.view.WearableListView']]"
+ [Register ("get", "(Landroid/support/wearable/view/WearableListView;)Ljava/lang/Integer;", "GetGet_Landroid_support_wearable_view_WearableListView_Handler")]
+ public override unsafe global::Java.Lang.Object Get (Java.Lang.Object wearableListView)
+ {
+ if (id_get_Landroid_support_wearable_view_WearableListView_ == IntPtr.Zero)
+ id_get_Landroid_support_wearable_view_WearableListView_ = JNIEnv.GetMethodID (class_ref, "get", "(Landroid/support/wearable/view/WearableListView;)Ljava/lang/Integer;");
+ try {
+ JValue* __args = stackalloc JValue [1];
+ __args [0] = new JValue (wearableListView);
+
+ global::Java.Lang.Integer __ret;
+ if (GetType () == ThresholdType)
+ __ret = global::Java.Lang.Object.GetObject (JNIEnv.CallObjectMethod (((global::Java.Lang.Object) this).Handle, id_get_Landroid_support_wearable_view_WearableListView_, __args), JniHandleOwnership.TransferLocalRef);
+ else
+ __ret = global::Java.Lang.Object.GetObject (JNIEnv.CallNonvirtualObjectMethod (((global::Java.Lang.Object) this).Handle, ThresholdClass, JNIEnv.GetMethodID (ThresholdClass, "get", "(Landroid/support/wearable/view/WearableListView;)Ljava/lang/Integer;"), __args), JniHandleOwnership.TransferLocalRef);
+ return __ret;
+ } finally {
+ }
+ }
+
+
+
+ }
+ }
+}
diff --git a/support-wearable/source/Properties/AssemblyInfo.cs b/support-wearable/source/Properties/AssemblyInfo.cs
index db25e0cce..1b95e207c 100644
--- a/support-wearable/source/Properties/AssemblyInfo.cs
+++ b/support-wearable/source/Properties/AssemblyInfo.cs
@@ -7,9 +7,9 @@
[assembly: AssemblyTitle ("Xamarin.Android.Wearable")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin Inc.")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
@@ -27,18 +27,17 @@
PackageName = __WearableConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __WearableConsts.AarPath,
- Version = __WearableConsts.Version)]
+ Version = __GpsConsts.WearVersion,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Wearable Support Resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
PackageName = __WearableConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __WearableConsts.AarPath,
- Version = __WearableConsts.Version)]
+ Version = __GpsConsts.WearVersion,
+ Sha1sum = __GpsConsts.Sha1sum)]
-static class __WearableConsts {
- public const string Version = "1.3.0";
- public const string PackageName = "Android Wear";
- public const string AarPath = "m2repository/com/google/android/support/wearable/" + Version + "/wearable-" + Version + ".aar";
+static class __WearableConsts {
+ public const string PackageName = "Xamarin.Android.Wear";
+ public const string AarPath = "m2repository/com/google/android/support/wearable/" + __GpsConsts.WearVersion + "/wearable-" + __GpsConsts.WearVersion + ".aar";
}
-
-
diff --git a/support-wearable/source/SupportWearable.csproj b/support-wearable/source/SupportWearable.csproj
index 8e9dfce40..e8a0cb883 100644
--- a/support-wearable/source/SupportWearable.csproj
+++ b/support-wearable/source/SupportWearable.csproj
@@ -4,7 +4,7 @@
Debug
AnyCPU
{7DD8E926-9F75-4F25-95A3-920A5FF48EF8}
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
Library
Xamarin.Android.Wearable
Resources
@@ -12,7 +12,7 @@
False
Xamarin.Android.Wearable
v5.0
- -XX:-UseSplitVerifier
+ class-parse
8.0.30703
2.0
..\..\externals\docs\reference
@@ -60,6 +60,7 @@
Properties\GpsConsts.cs
+
@@ -72,21 +73,17 @@
-
-
-
-
- Jars\support-wearable.jar
-
-
Jars\wearable.jar
+
+ Jars\support-wearable.jar
+
-
\ No newline at end of file
+
diff --git a/support-wearable/source/Transforms/EnumMethods.xml b/support-wearable/source/Transforms/EnumMethods.xml
index 2efa81467..2a1ab69d4 100644
--- a/support-wearable/source/Transforms/EnumMethods.xml
+++ b/support-wearable/source/Transforms/EnumMethods.xml
@@ -15,4 +15,8 @@
- To change the type of the return value, use "return" as the parameter name.
- The parameter names will be p0, p1, ... unless you provide JavaDoc file in the project.
-->
+
+
+
+
diff --git a/support-wearable/source/Transforms/Metadata.support.generated.xml b/support-wearable/source/Transforms/Metadata.support.generated.xml
deleted file mode 100644
index 773c5adc8..000000000
--- a/support-wearable/source/Transforms/Metadata.support.generated.xml
+++ /dev/null
@@ -1,667 +0,0 @@
-
- savedInstanceState
- prefix
- fd
- writer
- args
- savedInstanceState
- ambientDetails
- context
- context
- attrs
- context
- attrs
- defStyleAttr
- context
- attrs
- defStyleAttr
- defStyleRes
- canvas
- widthMeasureSpec
- heightMeasureSpec
- layoutDirection
- gravity
- add
- mult
- lines
- sizeValue
- unit
- sizeValue
- sizeValue
- unit
- sizeValue
- text
- color
- colors
- tf
- tf
- style
- context
- context
- attrs
- context
- attrs
- defStyleAttr
- context
- attrs
- defStyleAttr
- defStyleRes
- insets
- changed
- lValue
- tValue
- rValue
- bValue
- widthMeasureSpec
- heightMeasureSpec
- color
- color
- enabled
- drawable
- drawableRes
- scaleMode
- lValue
- stateListAnimator
- text
- context
- context
- attrs
- context
- attrs
- defStyle
- pValue
- attrs
- pValue
- insets
- changed
- left
- top
- right
- bottom
- widthMeasureSpec
- heightMeasureSpec
- drawable
- width
- height
- width
- height
- gravity
- width
- height
- gravity
- boxed
- context
- attrs
- source
- source
- source
- source
- title
- description
- title
- text
- iconRes
- savedInstanceState
- inflater
- container
- savedInstanceState
- inflater
- container
- savedInstanceState
- gravity
- bottom
- left
- right
- left
- top
- right
- bottom
- top
- left
- top
- right
- bottom
- bottomPadding
- leftPadding
- rightPadding
- topPadding
- direction
- enabled
- factor
- context
- context
- attrs
- context
- attrs
- defStyle
- child
- child
- index
- child
- index
- parameters
- child
- parameters
- canvas
- child
- drawingTime
- sizeValue
- measureSpec
- greedy
- insets
- evt
- info
- changed
- left
- top
- right
- bottom
- widthMeasureSpec
- heightMeasureSpec
- left
- top
- right
- bottom
- direction
- enabled
- expansionFactor
- context
- context
- attrs
- child
- index
- parameters
- direction
- direction
- insets
- changed
- left
- top
- right
- bottom
- widthMeasureSpec
- heightMeasureSpec
- gravity
- direction
- enableExpansion
- expansionFactor
- context
- context
- attrs
- context
- attrs
- defStyle
- canvas
- changed
- left
- top
- right
- bottom
- widthMeasureSpec
- heightMeasureSpec
- alpha
- changedView
- visibility
- circleBorderColor
- circleBorderWidth
- circleColor
- circleColor
- circleHidden
- circleRadius
- circleRadiusPressed
- mColorChangeAnimationDurationMs
- percentage
- drawable
- percentage
- resId
- tint
- pressed
- progress
- shadowVisibility
- show
- context
- context
- attrs
- context
- attrs
- defStyleAttr
- context
- attrs
- defStyleAttr
- defStyleRes
- canvas
- changed
- lValue
- tValue
- rValue
- bValue
- widthMeasureSpec
- heightMeasureSpec
- evt
- background
- color
- colorStateList
- drawable
- drawableRes
- scaleMode
- translationZ
- rippleColor
- who
- canvas
- who
- bounds
- level
- state
- who
- what
- when
- alpha
- dValue
- configs
- color
- mode
- cf
- dither
- dValue
- filter
- progress
- who
- what
- context
- context
- attrs
- context
- attrs
- defStyle
- canvas
- evt
- listener
- time
- time
- context
- context
- attrs
- context
- attrs
- defStyle
- textResId
- strValue
- context
- context
- attrs
- context
- attrs
- defStyleAttr
- oldAdapter
- newAdapter
- canvas
- widthMeasureSpec
- heightMeasureSpec
- rowValue
- column
- rowOffset
- columnOffset
- rowOffsetPixels
- columnOffsetPixels
- state
- rowValue
- column
- color
- color
- duration
- unit
- delay
- duration
- unit
- fade
- radius
- radius
- color
- dx
- dy
- radius
- spacing
- listener
- listener
- pager
- fm
- objectValue
- position
- container
- rowValue
- column
- objectValue
- rowValue
- column
- container
- rowValue
- column
- rowValue
- column
- rowValue
- column
- container
- rowValue
- column
- view
- objectValue
- fragment
- transaction
- fragment
- transaction
- objectValue
- position
- container
- rowValue
- column
- objectValue
- container
- rowValue
- column
- rowValue
- rowValue
- currentColumn
- objectValue
- rowValue
- column
- x0
- x1
- x2
- view
- objectValue
- rowValue
- column
- rowValue
- observer
- savedState
- classLoader
- rowValue
- currentColumn
- container
- observer
- context
- context
- attrs
- context
- attrs
- defStyle
- child
- index
- parameters
- direction
- direction
- pValue
- depth
- insets
- evt
- attrs
- pValue
- child
- lp
- insets
- evValue
- changed
- lValue
- tValue
- rValue
- bValue
- widthMeasureSpec
- heightMeasureSpec
- positionX
- positionY
- offsetX
- offsetY
- offsetLeftPx
- offsetTopPx
- state
- wValue
- hValue
- oldw
- oldh
- evValue
- view
- xValue
- yValue
- adapter
- consume
- rowValue
- column
- rowValue
- column
- smoothScroll
- limit
- listener
- listener
- listener
- rowMarginPx
- columnMarginPx
- slideAnimationDuration
- context
- attrs
- oldAdapter
- newAdapter
- rowValue
- column
- rowOffset
- colOffset
- rowOffsetPx
- colOffsetPx
- state
- rowValue
- column
- context
- attrs
- lValue
- tValue
- oldl
- oldt
- onScrollListener
- deltaY
- context
- context
- attrs
- context
- attrs
- defStyle
- listener
- colors
- delayMs
- delayMs
- listener
- animator
- animator
- animator
- animator
- animator
- context
- context
- attrs
- context
- attrs
- defStyle
- insets
- changed
- left
- top
- right
- bottom
- widthMeasureSpec
- heightMeasureSpec
- listener
- resId
- resId
- msg
- vValue
- insets
- vValue
- savedInstanceState
- vValue
- left
- top
- right
- bottom
- oldLeft
- oldTop
- oldRight
- oldBottom
- deltaY
- context
- context
- attrs
- context
- attrs
- defStyleAttr
- context
- attrs
- defStyleAttr
- defStyleRes
- pValue
- canvas
- xValue
- yValue
- attrs
- pValue
- child
- parentWidthMeasureSpec
- widthUsed
- parentHeightMeasureSpec
- heightUsed
- insets
- evt
- info
- changed
- left
- top
- right
- bottom
- widthMeasureSpec
- heightMeasureSpec
- wValue
- hValue
- oldw
- oldh
- dValue
- foregroundGravity
- value
- tint
- tintMode
- measureAll
- visibility
- who
- width
- height
- width
- height
- gravity
- width
- height
- gravity
- widthRound
- heightRound
- gravityRound
- cValue
- attrs
- source
- context
- context
- attrs
- context
- attrs
- defStyle
- insets
- context
- context
- attrs
- context
- attrs
- defStyleAttr
- listener
- listener
- endAction
- velocityX
- velocityY
- child
- evt
- evt
- listener
- listener
- adapter
- clickListener
- greedy
- top
- maximizeSingleItem
- listener
- position
- smoothScroller
- itemView
- isCentralItem
- animate
- canvas
- bounds
- holder
- format
- width
- height
- holder
- holder
- eglDisplay
- eglDisplay
- eglConfig
- eglDisplay
- eglConfig
- surfaceHolder
- insets
- surfaceHolder
- width
- height
- holder
- format
- width
- height
- holder
- holder
- style
- objValue
- code
- data
- reply
- flags
- inAmbientMode
- action
- xValue
- yValue
- zValue
- extras
- resultRequested
- holder
- interruptionFilter
- count
- rect
- properties
- tapType
- xValue
- yValue
- eventTime
- count
- visible
- watchFaceStyle
- bundle
- otherObj
- parcel
- flags
- service
- activity
- component
- acceptsTapEvents
- ambientPeekMode
- backgroundVisibility
- peekMode
- progressMode
- hotwordIndicatorGravity
- peekOpacityMode
- showSystemUiTime
- show
- statusBarGravity
- viewProtection
- viewProtectionMode
-
diff --git a/support-wearable/source/Transforms/Metadata.wearable.generated.xml b/support-wearable/source/Transforms/Metadata.wearable.generated.xml
deleted file mode 100644
index 9e55d020d..000000000
--- a/support-wearable/source/Transforms/Metadata.wearable.generated.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
- tag
- activity
- listener
- prefix
- fd
- writer
- args
- ambientDetails
-
diff --git a/support-wearable/source/Transforms/Metadata.xml b/support-wearable/source/Transforms/Metadata.xml
index 907c8a8f6..42865b2cf 100644
--- a/support-wearable/source/Transforms/Metadata.xml
+++ b/support-wearable/source/Transforms/Metadata.xml
@@ -47,5 +47,8 @@
deltaY
-
+
+
+
+
diff --git a/support-wearable/source/packages.config b/support-wearable/source/packages.config
index e8d942ac6..93c704a59 100644
--- a/support-wearable/source/packages.config
+++ b/support-wearable/source/packages.config
@@ -1,5 +1,5 @@
-
-
+
+
\ No newline at end of file
diff --git a/tagmanager-api/nuget/Xamarin.GooglePlayServices.TagManager.Api.template.nuspec b/tagmanager-api/nuget/Xamarin.GooglePlayServices.TagManager.Api.template.nuspec
new file mode 100644
index 000000000..cdedbd5e5
--- /dev/null
+++ b/tagmanager-api/nuget/Xamarin.GooglePlayServices.TagManager.Api.template.nuspec
@@ -0,0 +1,26 @@
+
+
+
+ Xamarin.GooglePlayServices.TagManager.Api
+ Xamarin Google Play Services - TagManager API
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - TagManager API $aar-version$
+
+ Xamarin.Android Bindings for Google Play Services - TagManager API $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-tagmanager-api_128x128.png
+
+
+
+
+
+
+
+
+
diff --git a/tagmanager-api/source/Additions/AboutAdditions.txt b/tagmanager-api/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/tagmanager-api/source/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/tagmanager-api/source/Additions/Manifest.cs b/tagmanager-api/source/Additions/Manifest.cs
new file mode 100644
index 000000000..5450ca3d3
--- /dev/null
+++ b/tagmanager-api/source/Additions/Manifest.cs
@@ -0,0 +1,37 @@
+using System;
+using Android.Runtime;
+using Android.App;
+using Android.Content;
+
+[assembly: UsesPermission (Android.Manifest.Permission.WakeLock)]
+[assembly: UsesPermission (Android.Manifest.Permission.AccessNetworkState)]
+
+namespace Android.Gms.TagManager
+{
+ //
+ [Service (Name="com.google.android.gms.tagmanager.TagManagerService", Exported=false, Enabled=true)]
+ public partial class TagManagerService
+ {
+ }
+
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ //
+ [Activity (Name="com.google.android.gms.tagmanager.TagManagerPreviewActivity", NoHistory=true)]
+ [IntentFilter (new [] { Intent.ActionView },
+ DataScheme="tagmanager.c.${applicationId}",
+ Categories=new [] { Intent.CategoryDefault, Intent.CategoryBrowsable })]
+ public partial class TagManagerPreviewActivity
+ {
+ }
+}
+
diff --git a/tagmanager-api/source/Jars/AboutJars.txt b/tagmanager-api/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/tagmanager-api/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/tagmanager-api/source/Properties/AssemblyInfo.cs b/tagmanager-api/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..bd864beb5
--- /dev/null
+++ b/tagmanager-api/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.GooglePlayServices.TagManager.Api")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-tagmanager-api/" + __GpsConsts.Version + "/play-services-tagmanager-api-" + __GpsConsts.Version + ".aar";
+}
diff --git a/tagmanager-api/source/TagManager.Api.csproj b/tagmanager-api/source/TagManager.Api.csproj
new file mode 100644
index 000000000..66a0506d1
--- /dev/null
+++ b/tagmanager-api/source/TagManager.Api.csproj
@@ -0,0 +1,85 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 8.0.30703
+ 2.0
+ {B94069F7-2BD5-4695-B7B7-EBAA1C496DD9}
+ Library
+ GooglePlayServices.TagManager.Api
+ Resources
+ Assets
+ False
+ Xamarin.GooglePlayServices.TagManager.Api
+ v7.0
+ jar2xml
+ ..\..\externals\docs\reference
+
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {DC5BEB52-1715-4E53-88EF-2D4F1708E394}
+ Firebase-Analytics
+
+
+
+
+
+ Jars\play-services-tagmanager-api.jar
+
+
+
diff --git a/tagmanager-api/source/Transforms/EnumFields.xml b/tagmanager-api/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/tagmanager-api/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/tagmanager-api/source/Transforms/EnumMethods.xml b/tagmanager-api/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/tagmanager-api/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/tagmanager-api/source/Transforms/Metadata.generated.xml b/tagmanager-api/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/tagmanager-api/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/tagmanager-api/source/Transforms/Metadata.xml b/tagmanager-api/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..58fc1ec82
--- /dev/null
+++ b/tagmanager-api/source/Transforms/Metadata.xml
@@ -0,0 +1,20 @@
+
+
+ Android.Gms.TagManager
+
+
+
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
diff --git a/tagmanager/nuget/Xamarin.GooglePlayServices.TagManager.template.nuspec b/tagmanager/nuget/Xamarin.GooglePlayServices.TagManager.template.nuspec
new file mode 100644
index 000000000..9e811dda5
--- /dev/null
+++ b/tagmanager/nuget/Xamarin.GooglePlayServices.TagManager.template.nuspec
@@ -0,0 +1,27 @@
+
+
+
+ Xamarin.GooglePlayServices.TagManager
+ Xamarin Google Play Services - TagManager
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - TagManager $aar-version$
+
+ Xamarin.Android Bindings for Google Play Services - TagManager $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-tagmanager_128x128.png
+
+
+
+
+
+
+
+
+
+
diff --git a/tagmanager/source/Additions/AboutAdditions.txt b/tagmanager/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/tagmanager/source/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/tagmanager/source/Jars/AboutJars.txt b/tagmanager/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/tagmanager/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/tagmanager/source/Properties/AssemblyInfo.cs b/tagmanager/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..f152e6e6c
--- /dev/null
+++ b/tagmanager/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.GooglePlayServices.TagManager")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-tagmanager/" + __GpsConsts.Version + "/play-services-tagmanager-" + __GpsConsts.Version + ".aar";
+}
diff --git a/tagmanager/source/TagManager.csproj b/tagmanager/source/TagManager.csproj
new file mode 100644
index 000000000..6214cf7b6
--- /dev/null
+++ b/tagmanager/source/TagManager.csproj
@@ -0,0 +1,88 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ 8.0.30703
+ 2.0
+ {2EA64B09-174C-40D0-9A40-44C2BF10C9D4}
+ Library
+ GooglePlayServices.TagManager
+ Resources
+ Assets
+ False
+ Xamarin.GooglePlayServices.TagManager
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+ {B94069F7-2BD5-4695-B7B7-EBAA1C496DD9}
+ TagManager.Api
+
+
+ {7893F52D-09B9-4441-AC47-6F7875BD68BC}
+ Analytics.Impl
+
+
+
+
+
+ Jars\play-services-tagmanager.jar
+
+
+
diff --git a/tagmanager/source/Transforms/EnumFields.xml b/tagmanager/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/tagmanager/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/tagmanager/source/Transforms/EnumMethods.xml b/tagmanager/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/tagmanager/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/tagmanager/source/Transforms/Metadata.generated.xml b/tagmanager/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/tagmanager/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/tagmanager/source/Transforms/Metadata.xml b/tagmanager/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..1855db8de
--- /dev/null
+++ b/tagmanager/source/Transforms/Metadata.xml
@@ -0,0 +1,20 @@
+
+
+ Android.Gms.TagManager
+ Android.Gms.Dynamite.Descriptors.TagManager
+
+
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
diff --git a/tasks/nuget/Xamarin.GooglePlayServices.Tasks.template.nuspec b/tasks/nuget/Xamarin.GooglePlayServices.Tasks.template.nuspec
new file mode 100644
index 000000000..3bda8f458
--- /dev/null
+++ b/tasks/nuget/Xamarin.GooglePlayServices.Tasks.template.nuspec
@@ -0,0 +1,25 @@
+
+
+
+ Xamarin.GooglePlayServices.Tasks
+ Xamarin Google Play Services - Tasks
+ $version$
+ Xamarin Inc.
+ Xamarin Inc.
+ true
+ Xamarin.Android Bindings for Google Play Services - Tasks $aar-version$
+
+ Xamarin.Android Bindings for Google Play Services - Tasks $aar-version$
+
+ Copyright © Microsoft Corporation
+ https://github.com/xamarin/GooglePlayServicesComponents/
+ https://github.com/xamarin/GooglePlayServicesComponents/blob/master/LICENSE.md
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-tasks_128x128.png
+
+
+
+
+
+
+
+
diff --git a/tasks/source/Additions/AboutAdditions.txt b/tasks/source/Additions/AboutAdditions.txt
new file mode 100644
index 000000000..c511f1d4e
--- /dev/null
+++ b/tasks/source/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/tasks/source/Additions/Task.cs b/tasks/source/Additions/Task.cs
new file mode 100644
index 000000000..1bb1197b0
--- /dev/null
+++ b/tasks/source/Additions/Task.cs
@@ -0,0 +1,89 @@
+using System;
+using Android.Runtime;
+using Android.Gms.Tasks;
+using System.Runtime.CompilerServices;
+using Android.Gms.Extensions;
+
+namespace Android.Gms.Extensions
+{
+ public static class TasksExtensions
+ {
+
+ public static System.Threading.Tasks.Task AsAsync (this Task task) where TResult : class, IJavaObject
+ {
+ var c = new AwaitableTaskCompleteListener ();
+
+ // The Java Task returned from this call is the same task
+ // so we do not have to await it
+ task.AddOnCompleteListener (c);
+
+ return c.AwaitAsync ();
+ }
+
+ public static System.Threading.Tasks.Task AsAsync (this Task task)
+ {
+ var c = new AwaitableTaskCompleteListener ();
+
+ task.AddOnCompleteListener (c);
+
+ return c.AwaitAsync ();
+ }
+
+ public static TaskAwaiter GetAwaiter (this Task task) where TResult : class, IJavaObject
+ {
+ var c = new AwaitableTaskCompleteListener ();
+
+ task.AddOnCompleteListener (c);
+
+ return c.GetAwaiter ();
+ }
+
+ public static TaskAwaiter GetAwaiter (this Task task)
+ {
+ var c = new AwaitableTaskCompleteListener ();
+
+ task.AddOnCompleteListener (c);
+
+ return c.GetAwaiter ();
+ }
+ }
+
+ class AwaitableTaskCompleteListener : Java.Lang.Object, IOnCompleteListener where TResult : class, IJavaObject
+ {
+ System.Threading.Tasks.TaskCompletionSource taskCompletionSource;
+
+ public AwaitableTaskCompleteListener ()
+ {
+ taskCompletionSource = new System.Threading.Tasks.TaskCompletionSource ();
+ }
+
+ public void OnComplete (Task task)
+ {
+ if (task.IsSuccessful) {
+ taskCompletionSource.SetResult (task?.Result?.JavaCast ());
+ } else {
+ taskCompletionSource.SetException (task.Exception);
+ }
+ }
+
+ public System.Threading.Tasks.Task AwaitAsync ()
+ {
+ return taskCompletionSource.Task;
+ }
+
+ public TaskAwaiter GetAwaiter ()
+ {
+ return taskCompletionSource.Task.GetAwaiter ();
+ }
+ }
+}
+
+namespace Android.Gms.Tasks
+{
+ public partial class Task
+ {
+ public virtual Java.Lang.Object Result {
+ get { return RawResult; }
+ }
+ }
+}
diff --git a/tasks/source/Jars/AboutJars.txt b/tasks/source/Jars/AboutJars.txt
new file mode 100644
index 000000000..320a154be
--- /dev/null
+++ b/tasks/source/Jars/AboutJars.txt
@@ -0,0 +1,37 @@
+This directory is for Android .jars.
+
+There are 4 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/tasks/source/Properties/AssemblyInfo.cs b/tasks/source/Properties/AssemblyInfo.cs
new file mode 100644
index 000000000..ec1e1685e
--- /dev/null
+++ b/tasks/source/Properties/AssemblyInfo.cs
@@ -0,0 +1,48 @@
+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 ("Xamarin.GooglePlayServices.Tasks")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
+[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("")]
+
+[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+// AppCompat-v7 resources
+[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
+ PackageName = __GpsConsts.PackageName,
+ SourceUrl = __GpsConsts.Url,
+ EmbeddedArchive = __Consts.AarPath,
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
+
+// Google Addon feed with GPS in it:
+// https://dl-ssl.google.com/android/repository/addon.xml
+
+static class __Consts {
+ public const string AarPath = "m2repository/com/google/android/gms/play-services-tasks/" + __GpsConsts.Version + "/play-services-tasks-" + __GpsConsts.Version + ".aar";
+}
diff --git a/tasks/source/Tasks.csproj b/tasks/source/Tasks.csproj
new file mode 100644
index 000000000..6ff7ad592
--- /dev/null
+++ b/tasks/source/Tasks.csproj
@@ -0,0 +1,98 @@
+
+
+
+ Debug
+ AnyCPU
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Library
+ GooglePlayServices.Base
+ Resources
+ Assets
+ False
+ Xamarin.GooglePlayServices.Tasks
+ v7.0
+ class-parse
+ ..\..\externals\docs\reference
+
+ 8.0.30703
+ 2.0
+
+
+ true
+ full
+ false
+ bin\Debug
+ DEBUG;
+ prompt
+ 4
+ None
+ false
+
+
+ full
+ true
+ bin\Release
+ prompt
+ 4
+ false
+ false
+
+
+
+
+
+
+
+ ..\..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
+
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
+ False
+
+
+
+
+
+ Properties\GpsConsts.cs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {6A38FACF-F0C5-4A49-8A8A-7CE6634207CE}
+ Basement
+
+
+
+
+
+ Jars\play-services-tasks.jar
+
+
+
diff --git a/tasks/source/Transforms/EnumFields.xml b/tasks/source/Transforms/EnumFields.xml
new file mode 100644
index 000000000..e9af0eeb3
--- /dev/null
+++ b/tasks/source/Transforms/EnumFields.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/tasks/source/Transforms/EnumMethods.xml b/tasks/source/Transforms/EnumMethods.xml
new file mode 100644
index 000000000..2efa81467
--- /dev/null
+++ b/tasks/source/Transforms/EnumMethods.xml
@@ -0,0 +1,18 @@
+
+
+
diff --git a/tasks/source/Transforms/Metadata.generated.xml b/tasks/source/Transforms/Metadata.generated.xml
new file mode 100644
index 000000000..26c2f6238
--- /dev/null
+++ b/tasks/source/Transforms/Metadata.generated.xml
@@ -0,0 +1,2 @@
+
+
diff --git a/tasks/source/Transforms/Metadata.xml b/tasks/source/Transforms/Metadata.xml
new file mode 100644
index 000000000..7354485f9
--- /dev/null
+++ b/tasks/source/Transforms/Metadata.xml
@@ -0,0 +1,21 @@
+
+
+
+ Android.Gms.Tasks
+
+ TasksClass
+
+
+
+
+
+
+
+
+ source
+ size
+ dest
+ flags
+
+
+
diff --git a/tasks/source/packages.config b/tasks/source/packages.config
new file mode 100644
index 000000000..71e0c9953
--- /dev/null
+++ b/tasks/source/packages.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/uitest.keystore b/uitest.keystore
new file mode 100644
index 000000000..3465d3ad8
Binary files /dev/null and b/uitest.keystore differ
diff --git a/vision/component/component.template.yaml b/vision/component/component.template.yaml
index ae56db9ee..0dc4e0534 100644
--- a/vision/component/component.template.yaml
+++ b/vision/component/component.template.yaml
@@ -4,15 +4,10 @@ id: googleplayservices-vision
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: "Find objects in photos and video, using real-time on-device vision technology."
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-vision_128x128.png
- - icons/googleplayservices-vision_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Vision.dll
+ - ../../icons/play-services-vision_128x128.png
+ - ../../icons/play-services-vision_512x512.png
is_shell: true
packages:
android:
@@ -21,14 +16,16 @@ samples:
- name: "Vision Sample"
path: ../../vision/samples/VisionSample.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Vision
+ - Base
+ - Basement
+ - Tasks
+ - Vision
installNuGets:
- project: VisionSample
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Vision
local-nuget-repo: ../../output/
no_build: true
diff --git a/vision/component/icons/googleplayservices-vision_128x128.png b/vision/component/icons/googleplayservices-vision_128x128.png
deleted file mode 100644
index d24a4f909..000000000
Binary files a/vision/component/icons/googleplayservices-vision_128x128.png and /dev/null differ
diff --git a/vision/component/icons/googleplayservices-vision_512x512.png b/vision/component/icons/googleplayservices-vision_512x512.png
deleted file mode 100644
index 5ac8b78e6..000000000
Binary files a/vision/component/icons/googleplayservices-vision_512x512.png and /dev/null differ
diff --git a/vision/nuget/Xamarin.GooglePlayServices.Vision.nuspec b/vision/nuget/Xamarin.GooglePlayServices.Vision.template.nuspec
similarity index 82%
rename from vision/nuget/Xamarin.GooglePlayServices.Vision.nuspec
rename to vision/nuget/Xamarin.GooglePlayServices.Vision.template.nuspec
index c1111aa9b..b60b13ecc 100644
--- a/vision/nuget/Xamarin.GooglePlayServices.Vision.nuspec
+++ b/vision/nuget/Xamarin.GooglePlayServices.Vision.template.nuspec
@@ -7,9 +7,9 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Vision
+ Xamarin.Android Bindings for Google Play Services - Vision $aar-version$
- Xamarin.Android Bindings for Google Play Services - Vision
+ Xamarin.Android Bindings for Google Play Services - Vision $aar-version$
The Face API finds human faces in photos, videos, or live streams. It also finds and tracks positions of facial landmarks such as the eyes, nose, and mouth.
@@ -17,16 +17,16 @@
The Barcode Scanner API detects barcodes in real time in any orientation. You can also detect and parse several barcodes in different formats at the same time.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-vision/
http://components.xamarin.com/license/googleplayservices-vision/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Vision.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-vision_128x128.png
-
+
diff --git a/vision/samples/VisionSample.sln b/vision/samples/VisionSample.sln
index 7dc7625c1..1220881c4 100644
--- a/vision/samples/VisionSample.sln
+++ b/vision/samples/VisionSample.sln
@@ -11,6 +11,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Base", "..\..\base\source\B
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Vision", "..\source\Vision.csproj", "{72CC5E29-5EA5-40E3-98E4-87ED8AB75589}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -37,5 +39,9 @@ Global
{A73B36CD-535C-45C6-8138-5DC6488EFA46}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A73B36CD-535C-45C6-8138-5DC6488EFA46}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A73B36CD-535C-45C6-8138-5DC6488EFA46}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/vision/samples/VisionSample/Properties/AndroidManifest.xml b/vision/samples/VisionSample/Properties/AndroidManifest.xml
index 8161d166a..3fe3554dc 100644
--- a/vision/samples/VisionSample/Properties/AndroidManifest.xml
+++ b/vision/samples/VisionSample/Properties/AndroidManifest.xml
@@ -3,5 +3,6 @@
+
\ No newline at end of file
diff --git a/vision/samples/VisionSample/Properties/AssemblyInfo.cs b/vision/samples/VisionSample/Properties/AssemblyInfo.cs
index 6fb39ec48..7f0b7a457 100644
--- a/vision/samples/VisionSample/Properties/AssemblyInfo.cs
+++ b/vision/samples/VisionSample/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("VisionSample")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/vision/samples/VisionSample/VisionSample.csproj b/vision/samples/VisionSample/VisionSample.csproj
index eaf7fe06c..d5da6135f 100644
--- a/vision/samples/VisionSample/VisionSample.csproj
+++ b/vision/samples/VisionSample/VisionSample.csproj
@@ -13,9 +13,9 @@
Resource
Resources\Resource.designer.cs
True
- True
+ false
VisionSample
- v6.0
+ v7.0
armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
@@ -43,8 +43,23 @@
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -88,5 +103,9 @@
{72CC5E29-5EA5-40E3-98E4-87ED8AB75589}
Vision
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
\ No newline at end of file
diff --git a/vision/samples/VisionSample/packages.config b/vision/samples/VisionSample/packages.config
index 01c2aac28..71e0c9953 100644
--- a/vision/samples/VisionSample/packages.config
+++ b/vision/samples/VisionSample/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vision/source/Properties/AssemblyInfo.cs b/vision/source/Properties/AssemblyInfo.cs
index 986ceee73..e024a57c9 100644
--- a/vision/source/Properties/AssemblyInfo.cs
+++ b/vision/source/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.Vision")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("Xamarin")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
@@ -27,21 +27,22 @@
//[assembly: AssemblyKeyFile("")]
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS Vision";
public const string AarPath = "m2repository/com/google/android/gms/play-services-vision/" + __GpsConsts.Version + "/play-services-vision-" + __GpsConsts.Version + ".aar";
}
diff --git a/vision/source/Transforms/Metadata.generated.xml b/vision/source/Transforms/Metadata.generated.xml
index d17a12d25..26c2f6238 100644
--- a/vision/source/Transforms/Metadata.generated.xml
+++ b/vision/source/Transforms/Metadata.generated.xml
@@ -1,245 +1,2 @@
- surfaceHolder
- shutter
- jpeg
- context
- detector
- autoFocusEnabled
- facing
- fps
- width
- height
- frame
- frame
- id
- processor
- detectedItems
- frameMetadata
- isOperational
- detections
- detector
- tracker
- detections
- detections
- image
- id
- data
- width
- height
- format
- rotation
- timestampMillis
- metadata
- frame
- frame
- processor
- detector
- detections
- factory
- maxGapFrames
- detections
- id
- item
- detections
- item
- versionCode
- format
- rawValue
- displayValue
- valueFormat
- cornerPoints
- email
- phone
- sms
- wifi
- url
- geoPoint
- calendarEvent
- contactInfo
- driverLicense
- parcel
- flags
- versionCode
- theType
- addressLines
- parcel
- flags
- versionCode
- year
- month
- day
- hours
- minutes
- seconds
- isUtc
- rawValue
- parcel
- flags
- versionCode
- summary
- description
- location
- organizer
- status
- start
- end
- parcel
- flags
- versionCode
- nameValue
- organization
- title
- phones
- emails
- urls
- addresses
- parcel
- flags
- versionCode
- documentType
- firstName
- middleName
- lastName
- gender
- addressStreet
- addressCity
- addressState
- addressZip
- licenseNumber
- issueDate
- expiryDate
- birthDate
- issuingCountry
- parcel
- flags
- versionCode
- theType
- address
- subject
- body
- parcel
- flags
- versionCode
- latValue
- lng
- parcel
- flags
- versionCode
- formattedName
- pronunciation
- prefix
- first
- middle
- last
- suffix
- parcel
- flags
- versionCode
- theType
- number
- parcel
- flags
- versionCode
- message
- phoneNumber
- parcel
- flags
- versionCode
- title
- url
- parcel
- flags
- versionCode
- ssid
- password
- encryptionType
- parcel
- flags
- frame
- context
- format
- versionCode
- barcodeFormats
- parcel
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- id
- position
- width
- height
- yawDegrees
- rollDegrees
- landmarks
- isLeftEyeOpenScore
- isRightEyeOpenScore
- isSmilingScore
- frame
- id
- context
- classificationType
- landmarkType
- proportionalMinFaceSize
- mode
- prominentFaceOnly
- trackingEnabled
- position
- theType
- detector
- tracker
- detections
- detector
- tracker
- maxGapFrames
- versionCode
- id
- centerX
- centerY
- width
- height
- eulerY
- eulerZ
- landmarkParcels
- isLeftEyeOpenScore
- isRightEyeOpenScore
- isSmilingScore
- parcel
- flags
- versionCode
- mode
- landmarkType
- classificationType
- prominentFaceOnly
- trackingEnabled
- proportionalMinFaceSize
- parcel
- flags
- versionCode
- xValue
- yValue
- theType
- parcel
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- versionCode
- width
- height
- id
- timestampMillis
- rotation
- parcel
- flags
diff --git a/vision/source/Transforms/Metadata.xml b/vision/source/Transforms/Metadata.xml
index e47b38bc2..bd7a7684d 100644
--- a/vision/source/Transforms/Metadata.xml
+++ b/vision/source/Transforms/Metadata.xml
@@ -6,6 +6,8 @@
Android.Gms.Vision.Barcodes.Internal.Client
Android.Gms.Vision.Faces
Android.Gms.Vision.Faces.Internal.Client
+ Android.Gms.Vision.Texts
+ Android.Gms.Vision.Texts.Internal.Client
Face
@@ -20,6 +22,12 @@
+
+ source
+ size
+ dest
+ flags
+
_Format
internal
diff --git a/vision/source/Vision.csproj b/vision/source/Vision.csproj
index 093fa1787..e2c447f47 100644
--- a/vision/source/Vision.csproj
+++ b/vision/source/Vision.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{72CC5E29-5EA5-40E3-98E4-87ED8AB75589}
Library
GooglePlayServices.Vision
@@ -11,11 +11,14 @@
Assets
False
Xamarin.GooglePlayServices.Vision
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference
+ 8.0.30703
+ 2.0
true
@@ -43,7 +46,7 @@
- ..\..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
False
@@ -57,7 +60,6 @@
-
@@ -81,4 +83,4 @@
Basement
-
\ No newline at end of file
+
diff --git a/vision/source/packages.config b/vision/source/packages.config
deleted file mode 100644
index 59cde6e53..000000000
--- a/vision/source/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/wallet/component/component.template.yaml b/wallet/component/component.template.yaml
index 587027c13..53ea60248 100644
--- a/wallet/component/component.template.yaml
+++ b/wallet/component/component.template.yaml
@@ -4,17 +4,10 @@ id: googleplayservices-wallet
publisher: Xamarin Inc.
publisher-url: http://xamarin.com
summary: "Enable simple payments in your Android app."
-license: ../../component/License.md
+license: ../../License.md
icons:
- - icons/googleplayservices-wallet_128x128.png
- - icons/googleplayservices-wallet_512x512.png
-libraries:
- android:
- - ../../output/Xamarin.GooglePlayServices.Base.dll
- - ../../output/Xamarin.GooglePlayServices.Basement.dll
- - ../../output/Xamarin.GooglePlayServices.Wallet.dll
- - ../../output/Xamarin.GooglePlayServices.Plus.dll
- - ../../output/Xamarin.GooglePlayServices.Identity.dll
+ - ../../icons/play-services-wallet_128x128.png
+ - ../../icons/play-services-wallet_512x512.png
is_shell: true
packages:
android:
@@ -23,16 +16,18 @@ samples:
- name: "Android Pay Sample"
path: ../../wallet/samples/AndroidPayQuickstart.sln
removeProjects:
- - Xamarin.GooglePlayServices.Base
- - Xamarin.GooglePlayServices.Basement
- - Xamarin.GooglePlayServices.Wallet
- - Xamarin.GooglePlayServices.Plus
- - Xamarin.GooglePlayServices.Identity
+ - Base
+ - Basement
+ - Tasks
+ - Wallet
+ - Plus
+ - Identity
installNuGets:
- project: AndroidPayQuickstart
packages:
- Xamarin.GooglePlayServices.Base
- Xamarin.GooglePlayServices.Basement
+ - Xamarin.GooglePlayServices.Tasks
- Xamarin.GooglePlayServices.Wallet
- Xamarin.GooglePlayServices.Plus
- Xamarin.GooglePlayServices.Identity
diff --git a/wallet/component/icons/googleplayservices-wallet_128x128.png b/wallet/component/icons/googleplayservices-wallet_128x128.png
deleted file mode 100644
index e0087f59d..000000000
Binary files a/wallet/component/icons/googleplayservices-wallet_128x128.png and /dev/null differ
diff --git a/wallet/component/icons/googleplayservices-wallet_512x512.png b/wallet/component/icons/googleplayservices-wallet_512x512.png
deleted file mode 100644
index 47885527d..000000000
Binary files a/wallet/component/icons/googleplayservices-wallet_512x512.png and /dev/null differ
diff --git a/wallet/nuget/Xamarin.GooglePlayServices.Wallet.nuspec b/wallet/nuget/Xamarin.GooglePlayServices.Wallet.template.nuspec
similarity index 79%
rename from wallet/nuget/Xamarin.GooglePlayServices.Wallet.nuspec
rename to wallet/nuget/Xamarin.GooglePlayServices.Wallet.template.nuspec
index 3992dd6f2..d7c4863de 100644
--- a/wallet/nuget/Xamarin.GooglePlayServices.Wallet.nuspec
+++ b/wallet/nuget/Xamarin.GooglePlayServices.Wallet.template.nuspec
@@ -7,25 +7,24 @@
Xamarin Inc.
Xamarin Inc.
true
- Xamarin.Android Bindings for Google Play Services - Wallet
+ Xamarin.Android Bindings for Google Play Services - Wallet $aar-version$
- Xamarin.Android Bindings for Google Play Services - Wallet
+ Xamarin.Android Bindings for Google Play Services - Wallet $aar-version$
Android Pay enables simple and secure purchases of physical goods and services in Android apps, and eliminates the need to manually enter payment and shipping information. Integrate Android Pay to reach millions of signed-in Android users and drive higher conversions.
- Copyright 2013-2016
+ Copyright © Microsoft Corporation
http://components.xamarin.com/view/googleplayservices-wallet/
http://components.xamarin.com/license/googleplayservices-wallet/
- https://xamarin-component-icons.s3.amazonaws.com/Xamarin.GooglePlayServices.Wallet.png
+ https://raw.githubusercontent.com/xamarin/GooglePlayServicesComponents/master/icons/play-services-wallet_128x128.png
-
-
+
diff --git a/wallet/samples/AndroidPayQuickstart.UITests/AndroidPayQuickstart.UITests.csproj b/wallet/samples/AndroidPayQuickstart.UITests/AndroidPayQuickstart.UITests.csproj
index 08a436551..471eb3cef 100644
--- a/wallet/samples/AndroidPayQuickstart.UITests/AndroidPayQuickstart.UITests.csproj
+++ b/wallet/samples/AndroidPayQuickstart.UITests/AndroidPayQuickstart.UITests.csproj
@@ -33,7 +33,7 @@
..\packages\NUnit.2.6.4\lib\nunit.framework.dll
- ..\packages\Xamarin.UITest.1.1.1\lib\Xamarin.UITest.dll
+ ..\packages\Xamarin.UITest.2.0.1\lib\Xamarin.UITest.dll
diff --git a/wallet/samples/AndroidPayQuickstart.UITests/packages.config b/wallet/samples/AndroidPayQuickstart.UITests/packages.config
index 2d9e3ac42..f55a18725 100644
--- a/wallet/samples/AndroidPayQuickstart.UITests/packages.config
+++ b/wallet/samples/AndroidPayQuickstart.UITests/packages.config
@@ -1,5 +1,5 @@
-
-
-
-
+
+
+
+
\ No newline at end of file
diff --git a/wallet/samples/AndroidPayQuickstart.sln b/wallet/samples/AndroidPayQuickstart.sln
index d38305d83..8831de5c0 100644
--- a/wallet/samples/AndroidPayQuickstart.sln
+++ b/wallet/samples/AndroidPayQuickstart.sln
@@ -17,6 +17,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Basement", "..\..\basement\
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Maps", "..\..\maps\source\Maps.csproj", "{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tasks", "..\..\tasks\source\Tasks.csproj", "{53F87D88-8871-41A2-9F81-B79AB02FEC24}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -55,5 +57,9 @@ Global
{E1D38A6F-84FB-475D-8D68-604EDE19A9E6}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E1D38A6F-84FB-475D-8D68-604EDE19A9E6}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E1D38A6F-84FB-475D-8D68-604EDE19A9E6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
EndGlobal
diff --git a/wallet/samples/AndroidPayQuickstart/AndroidPayQuickstart.csproj b/wallet/samples/AndroidPayQuickstart/AndroidPayQuickstart.csproj
index c85dd403e..d061d5e9c 100644
--- a/wallet/samples/AndroidPayQuickstart/AndroidPayQuickstart.csproj
+++ b/wallet/samples/AndroidPayQuickstart/AndroidPayQuickstart.csproj
@@ -15,7 +15,8 @@
True
False
AndroidPayQuickstart
- v5.1
+ v7.0
+ armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
true
@@ -27,7 +28,6 @@
4
None
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
full
@@ -37,15 +37,29 @@
4
false
false
- armeabi;armeabi-v7a;x86;arm64-v8a;x86_64
+
+ ..\packages\Xamarin.Android.Support.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.UI.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.UI.dll
+
+
+ ..\packages\Xamarin.Android.Support.Core.Utils.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Core.Utils.dll
+
+
+ ..\packages\Xamarin.Android.Support.Media.Compat.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Media.Compat.dll
+
+
+ ..\packages\Xamarin.Android.Support.Fragment.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.Fragment.dll
+
- ..\packages\Xamarin.Android.Support.v4.23.1.1.1\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll
+ ..\packages\Xamarin.Android.Support.v4.24.2.1\lib\MonoAndroid70\Xamarin.Android.Support.v4.dll
@@ -151,7 +165,7 @@
-
+
{3F6BAE25-ADEB-468C-8384-AD655623C341}
@@ -177,5 +191,9 @@
{7CB92D61-E2FF-472A-9FDF-7E42D15B3EE6}
Maps
+
+ {53F87D88-8871-41A2-9F81-B79AB02FEC24}
+ Tasks
+
\ No newline at end of file
diff --git a/wallet/samples/AndroidPayQuickstart/Properties/AndroidManifest.xml b/wallet/samples/AndroidPayQuickstart/Properties/AndroidManifest.xml
index 9931c8657..7f29994ed 100644
--- a/wallet/samples/AndroidPayQuickstart/Properties/AndroidManifest.xml
+++ b/wallet/samples/AndroidPayQuickstart/Properties/AndroidManifest.xml
@@ -10,4 +10,5 @@
+
diff --git a/wallet/samples/AndroidPayQuickstart/Properties/AssemblyInfo.cs b/wallet/samples/AndroidPayQuickstart/Properties/AssemblyInfo.cs
index 7db613230..5b4ca961f 100644
--- a/wallet/samples/AndroidPayQuickstart/Properties/AssemblyInfo.cs
+++ b/wallet/samples/AndroidPayQuickstart/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("AndroidPayQuickstart")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("redth")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
diff --git a/wallet/samples/AndroidPayQuickstart/Util.cs b/wallet/samples/AndroidPayQuickstart/Util.cs
index f1375c163..d0e925226 100644
--- a/wallet/samples/AndroidPayQuickstart/Util.cs
+++ b/wallet/samples/AndroidPayQuickstart/Util.cs
@@ -24,17 +24,17 @@ public static string FormatPaymentDescriptions (MaskedWallet maskedWallet)
* @param address The {@link Address} to format.
* @return The address in a format suitable for display to the user.
*/
- public static string FormatAddress (Context context, Address address)
- {
- // different locales may need different address formats, which would be handled in
- // R.string.address_format
- var address2 = string.IsNullOrEmpty (address.Address2) ? address.Address2 : address.Address2 + "\n";
- var address3 = string.IsNullOrEmpty (address.Address3) ? address.Address3 : address.Address3 + "\n";
+ //public static string FormatAddress (Context context, Address address)
+ //{
+ // // different locales may need different address formats, which would be handled in
+ // // R.string.address_format
+ // var address2 = string.IsNullOrEmpty (address.Address2) ? address.Address2 : address.Address2 + "\n";
+ // var address3 = string.IsNullOrEmpty (address.Address3) ? address.Address3 : address.Address3 + "\n";
- return context.GetString (Resource.String.address_format, address.Name,
- address.Address1, address2, address3, address.City, address.State, address.PostalCode);
- }
+ // return context.GetString (Resource.String.address_format, address.Name,
+ // address.Address1, address2, address3, address.City, address.State, address.PostalCode);
+ //}
/**
* Formats a price for display.
diff --git a/wallet/samples/AndroidPayQuickstart/packages.config b/wallet/samples/AndroidPayQuickstart/packages.config
index 01c2aac28..71e0c9953 100644
--- a/wallet/samples/AndroidPayQuickstart/packages.config
+++ b/wallet/samples/AndroidPayQuickstart/packages.config
@@ -1,4 +1,9 @@
-
-
-
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wallet/source/Additions/IPendingResultExtensions.cs b/wallet/source/Additions/IPendingResultExtensions.cs
index 850175077..d49d69100 100644
--- a/wallet/source/Additions/IPendingResultExtensions.cs
+++ b/wallet/source/Additions/IPendingResultExtensions.cs
@@ -7,9 +7,15 @@ namespace Android.Gms.Wallet
{
public static partial class IPaymentsExtensions
{
+ [Obsolete ("deprecated")]
public static async Task IsReadyToPayAsync (this IPayments api, GoogleApiClient googleApiClient)
{
return (await api.IsReadyToPay (googleApiClient)).JavaCast ();
}
+
+ public static async Task IsReadyToPayAsync (this IPayments api, GoogleApiClient googleApiClient, IsReadyToPayRequest request)
+ {
+ return (await api.IsReadyToPay (googleApiClient, request)).JavaCast ();
+ }
}
}
diff --git a/wallet/source/Properties/AssemblyInfo.cs b/wallet/source/Properties/AssemblyInfo.cs
index 1138b011a..1151ffb67 100644
--- a/wallet/source/Properties/AssemblyInfo.cs
+++ b/wallet/source/Properties/AssemblyInfo.cs
@@ -8,9 +8,9 @@
[assembly: AssemblyTitle ("Xamarin.GooglePlayServices.Wallet")]
[assembly: AssemblyDescription ("")]
[assembly: AssemblyConfiguration ("")]
-[assembly: AssemblyCompany ("Xamarin")]
+[assembly: AssemblyCompany ("Microsoft Corporation")]
[assembly: AssemblyProduct ("")]
-[assembly: AssemblyCopyright ("Xamarin")]
+[assembly: AssemblyCopyright ("Copyright © Microsoft Corporation")]
[assembly: AssemblyTrademark ("")]
[assembly: AssemblyCulture ("")]
@@ -27,21 +27,22 @@
//[assembly: AssemblyKeyFile("")]
[assembly: Java.Interop.JavaLibraryReference ("classes.jar",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// AppCompat-v7 resources
[assembly: Android.IncludeAndroidResourcesFromAttribute ("./",
- PackageName = __Consts.PackageName,
+ PackageName = __GpsConsts.PackageName,
SourceUrl = __GpsConsts.Url,
EmbeddedArchive = __Consts.AarPath,
- Version = __GpsConsts.Version)]
+ Version = __GpsConsts.Version,
+ Sha1sum = __GpsConsts.Sha1sum)]
// Google Addon feed with GPS in it:
// https://dl-ssl.google.com/android/repository/addon.xml
static class __Consts {
- public const string PackageName = "GPS Wallet";
public const string AarPath = "m2repository/com/google/android/gms/play-services-wallet/" + __GpsConsts.Version + "/play-services-wallet-" + __GpsConsts.Version + ".aar";
}
diff --git a/wallet/source/Transforms/Metadata.generated.xml b/wallet/source/Transforms/Metadata.generated.xml
index 8bf46d8b6..26c2f6238 100644
--- a/wallet/source/Transforms/Metadata.generated.xml
+++ b/wallet/source/Transforms/Metadata.generated.xml
@@ -1,267 +1,2 @@
- initParams
- requestCode
- resultCode
- data
- savedInstanceState
- inflaterWrapper
- containerWrapper
- savedInstanceState
- outState
- enabled
- maskedWallet
- request
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- code
- data
- reply
- flags
- googleApiClient
- googleTransactionId
- merchantTransactionId
- requestCode
- googleApiClient
- requestCode
- googleApiClient
- requestCode
- googleApiClient
- googleApiClient
- request
- requestCode
- googleApiClient
- request
- requestCode
- googleApiClient
- request
- output
- flags
- dest
- flags
- lineItem
- currencyCode
- lineItems
- totalPrice
- countryCode
- dest
- flags
- dest
- flags
- context
- intent
- output
- flags
- dest
- flags
- cart
- googleTransactionId
- merchantTransactionId
- dest
- flags
- output
- flags
- output
- flags
- dest
- flags
- currencyCode
- description
- quantity
- role
- totalPrice
- unitPrice
- dest
- flags
- maskedWallet
- dest
- flags
- billingAddress
- buyerBillingAddress
- buyerShippingAddress
- email
- googleTransactionId
- instrumentInfos
- merchantTransactionId
- paymentDescriptions
- shippingAddress
- dest
- flags
- allowedCardNetwork
- allowedCardNetworks
- countrySpecification
- countrySpecifications
- allowDebitCard
- allowPrepaidCard
- cart
- currencyCode
- estimatedTotalPrice
- isBillingAgreement
- merchantName
- merchantTransactionId
- paymentMethodTokenizationParameters
- phoneNumberRequired
- shippingAddressRequired
- useMinimalBillingAddress
- output
- flags
- detailedReason
- googleTransactionId
- status
- dest
- flags
- output
- flags
- output
- flags
- nameValue
- value
- tokenizationType
- googleApiClient
- googleTransactionId
- merchantTransactionId
- requestCode
- googleApiClient
- requestCode
- googleApiClient
- requestCode
- googleApiClient
- googleApiClient
- request
- requestCode
- googleApiClient
- request
- requestCode
- googleApiClient
- request
- output
- flags
- googleApiClient
- googleTransactionId
- merchantTransactionId
- requestCode
- googleApiClient
- requestCode
- googleApiClient
- request
- requestCode
- googleApiClient
- request
- requestCode
- googleApiClient
- request
- environment
- theme
- output
- flags
- output
- flags
- output
- flags
- output
- flags
- output
- flags
- initParams
- options
- requestCode
- resultCode
- data
- savedInstanceState
- inflater
- container
- savedInstanceState
- activity
- attrs
- savedInstanceState
- outState
- enabled
- listener
- maskedWallet
- request
- initParams
- options
- requestCode
- resultCode
- data
- savedInstanceState
- inflater
- container
- savedInstanceState
- activity
- attrs
- savedInstanceState
- outState
- enabled
- listener
- maskedWallet
- request
- dest
- flags
- accountName
- maskedWallet
- request
- requestCode
- dest
- flags
- environment
- styleResourceId
- fragmentStyle
- mode
- theme
- buyButtonAppearance
- height
- unit
- height
- buyButtonText
- width
- unit
- width
- color
- resourceId
- color
- resourceId
- resourceId
- resourceId
- imageType
- color
- resourceId
- id
- dest
- flags
- dest
- flags
- dest
- flags
- dest
- flags
- dest
- flags
- dest
- flags
- dest
- flags
- dest
- flags
- dest
- flags
- dest
- flags
diff --git a/wallet/source/Transforms/Metadata.xml b/wallet/source/Transforms/Metadata.xml
index ff3dfba33..6c8994c0d 100644
--- a/wallet/source/Transforms/Metadata.xml
+++ b/wallet/source/Transforms/Metadata.xml
@@ -20,6 +20,12 @@
+
+ source
+ size
+ dest
+ flags
+
TransactionStatus
LineItemRole
diff --git a/wallet/source/Wallet.csproj b/wallet/source/Wallet.csproj
index c60b42290..2f703eb22 100644
--- a/wallet/source/Wallet.csproj
+++ b/wallet/source/Wallet.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
{7AF74235-AEE2-4F3A-AEDB-7504ED93DDC0}
Library
GooglePlayServices.Wallet
@@ -11,7 +11,8 @@
Assets
False
Xamarin.GooglePlayServices.Wallet
- v4.1
+ v7.0
+ jar2xml
..\..\externals\docs\reference
+ source
+ size
+ dest
+ flags
+
diff --git a/wearable/source/Wearable.csproj b/wearable/source/Wearable.csproj
index ebcf9fb76..e11052c94 100644
--- a/wearable/source/Wearable.csproj
+++ b/wearable/source/Wearable.csproj
@@ -3,7 +3,7 @@
Debug
AnyCPU
- {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ {10368E6C-D01B-4462-8E8B-01FC667A7035};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
8.0.30703
2.0
{92BDA198-6A78-4408-844C-CAAF4C04EAFD}
@@ -13,7 +13,8 @@
Assets
False
Xamarin.GooglePlayServices.Wearable
- v4.1
+ v7.0
+ class-parse
..\..\externals\docs\reference