Skip to content

Commit 4a49525

Browse files
committed
Merge branch 'master' into android-textureview
2 parents 83e2f13 + 0dc5876 commit 4a49525

193 files changed

Lines changed: 3661 additions & 1648 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Samples/Android/Sample.Android/FragmentActivity.cs

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,24 +19,38 @@ protected override void OnCreate (Bundle savedInstanceState)
1919
base.OnCreate (savedInstanceState);
2020

2121
SetContentView (Resource.Layout.FragmentActivity);
22-
23-
scanFragment = new ZXingScannerFragment ();
24-
25-
SupportFragmentManager.BeginTransaction ()
26-
.Replace (Resource.Id.fragment_container, scanFragment)
27-
.Commit ();
2822
}
2923

3024
protected override void OnResume ()
3125
{
3226
base.OnResume ();
3327

34-
scan ();
28+
var needsPermissionRequest = ZXing.Net.Mobile.Android.PermissionsHandler.NeedsPermissionRequest(this);
29+
30+
if (needsPermissionRequest)
31+
ZXing.Net.Mobile.Android.PermissionsHandler.RequestPermissionsAsync(this);
32+
33+
if (scanFragment == null)
34+
{
35+
scanFragment = new ZXingScannerFragment();
36+
37+
SupportFragmentManager.BeginTransaction()
38+
.Replace(Resource.Id.fragment_container, scanFragment)
39+
.Commit();
40+
}
41+
42+
if (!needsPermissionRequest)
43+
scan();
44+
}
45+
46+
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
47+
{
48+
ZXing.Net.Mobile.Android.PermissionsHandler.OnRequestPermissionsResult(requestCode, permissions, grantResults);
3549
}
3650

3751
protected override void OnPause ()
3852
{
39-
scanFragment.StopScanning ();
53+
scanFragment?.StopScanning ();
4054

4155
base.OnPause ();
4256
}

Samples/Android/Sample.Android/MainActivity.cs

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using Android.OS;
77
using ZXing;
88
using ZXing.Mobile;
9+
using System;
910

1011
namespace Sample.Android
1112
{
@@ -101,6 +102,14 @@ protected override void OnCreate (Bundle bundle)
101102
};
102103
}
103104

105+
protected override void OnResume()
106+
{
107+
base.OnResume();
108+
109+
if (ZXing.Net.Mobile.Android.PermissionsHandler.NeedsPermissionRequest(this))
110+
ZXing.Net.Mobile.Android.PermissionsHandler.RequestPermissionsAsync(this);
111+
}
112+
104113
void HandleScanResult (ZXing.Result result)
105114
{
106115
string msg = "";
@@ -112,6 +121,47 @@ void HandleScanResult (ZXing.Result result)
112121

113122
this.RunOnUiThread(() => Toast.MakeText(this, msg, ToastLength.Short).Show());
114123
}
124+
125+
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
126+
{
127+
global::ZXing.Net.Mobile.Android.PermissionsHandler.OnRequestPermissionsResult(requestCode, permissions, grantResults);
128+
}
129+
130+
[Java.Interop.Export ("UITestBackdoorScan")]
131+
public Java.Lang.String UITestBackdoorScan (string param)
132+
{
133+
var expectedFormat = BarcodeFormat.QR_CODE;
134+
Enum.TryParse (param, out expectedFormat);
135+
var opts = new MobileBarcodeScanningOptions {
136+
PossibleFormats = new List<BarcodeFormat> { expectedFormat }
137+
};
138+
var barcodeScanner = new MobileBarcodeScanner ();
139+
140+
Console.WriteLine ("Scanning " + expectedFormat);
141+
142+
//Start scanning
143+
barcodeScanner.Scan (opts).ContinueWith (t => {
144+
145+
var result = t.Result;
146+
147+
var format = result?.BarcodeFormat.ToString () ?? string.Empty;
148+
var value = result?.Text ?? string.Empty;
149+
150+
RunOnUiThread (() => {
151+
152+
AlertDialog dialog = null;
153+
dialog = new AlertDialog.Builder (this)
154+
.SetTitle ("Barcode Result")
155+
.SetMessage (format + "|" + value)
156+
.SetNeutralButton ("OK", (sender, e) => {
157+
dialog.Cancel ();
158+
}).Create ();
159+
dialog.Show ();
160+
});
161+
});
162+
163+
return new Java.Lang.String ();
164+
}
115165
}
116166
}
117167

Samples/Android/Sample.Android/Sample.Android.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
<Reference Include="Xamarin.Android.Support.v4">
4848
<HintPath>..\packages\Xamarin.Android.Support.v4.23.0.1.3\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll</HintPath>
4949
</Reference>
50+
<Reference Include="Mono.Android.Export" />
5051
</ItemGroup>
5152
<ItemGroup>
5253
<Compile Include="Resources\Resource.designer.cs" />

Samples/Forms/Core/FormsSample.cs

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
using System;
2-
2+
using System.Collections.Generic;
33
using Xamarin.Forms;
44
using ZXing.Net.Mobile.Forms;
55

@@ -26,6 +26,32 @@ protected override void OnResume ()
2626
{
2727
// Handle when your app resumes
2828
}
29+
30+
public void UITestBackdoorScan (string param)
31+
{
32+
var expectedFormat = ZXing.BarcodeFormat.QR_CODE;
33+
Enum.TryParse (param, out expectedFormat);
34+
var opts = new ZXing.Mobile.MobileBarcodeScanningOptions {
35+
PossibleFormats = new List<ZXing.BarcodeFormat> { expectedFormat }
36+
};
37+
38+
System.Diagnostics.Debug.WriteLine ("Scanning " + expectedFormat);
39+
40+
var scanPage = new ZXingScannerPage (opts);
41+
scanPage.OnScanResult += (result) => {
42+
scanPage.IsScanning = false;
43+
44+
Device.BeginInvokeOnMainThread (() => {
45+
var format = result?.BarcodeFormat.ToString () ?? string.Empty;
46+
var value = result?.Text ?? string.Empty;
47+
48+
MainPage.Navigation.PopAsync ();
49+
MainPage.DisplayAlert ("Barcode Result", format + "|" + value, "OK");
50+
});
51+
};
52+
53+
MainPage.Navigation.PushAsync (scanPage);
54+
}
2955
}
3056
}
3157

Samples/Forms/Core/FormsSample.csproj

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -56,17 +56,27 @@
5656
</ProjectReference>
5757
</ItemGroup>
5858
<ItemGroup>
59-
<Reference Include="Xamarin.Forms.Core">
60-
<HintPath>..\..\..\packages\Xamarin.Forms.2.3.0.107\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath>
59+
<Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
60+
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath>
61+
<Private>True</Private>
6162
</Reference>
62-
<Reference Include="Xamarin.Forms.Xaml">
63-
<HintPath>..\..\..\packages\Xamarin.Forms.2.3.0.107\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath>
63+
<Reference Include="Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
64+
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath>
65+
<Private>True</Private>
6466
</Reference>
65-
<Reference Include="Xamarin.Forms.Platform">
66-
<HintPath>..\..\..\packages\Xamarin.Forms.2.3.0.107\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Platform.dll</HintPath>
67+
<Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
68+
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath>
69+
<Private>True</Private>
6770
</Reference>
6871
</ItemGroup>
6972
<ItemGroup>
7073
<None Include="packages.config" />
7174
</ItemGroup>
75+
<Import Project="..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
76+
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
77+
<PropertyGroup>
78+
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
79+
</PropertyGroup>
80+
<Error Condition="!Exists('..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />
81+
</Target>
7282
</Project>

Samples/Forms/Core/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<packages>
3-
<package id="Xamarin.Forms" version="2.3.0.107" targetFramework="portable-net45+win+wp80+MonoTouch10+MonoAndroid10+xamarinmac20+xamarintvos10+xamarinwatchos10+xamarinios10" />
3+
<package id="Xamarin.Forms" version="2.3.2.127" targetFramework="portable45-net45+win8+wp8" />
44
</packages>

Samples/Forms/Droid/FormsSample.Droid.csproj

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@
4343
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
4444
</PropertyGroup>
4545
<ItemGroup>
46+
<Reference Include="FormsViewGroup, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
47+
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\FormsViewGroup.dll</HintPath>
48+
<Private>True</Private>
49+
</Reference>
4650
<Reference Include="System" />
4751
<Reference Include="System.Xml" />
4852
<Reference Include="System.Core" />
@@ -71,21 +75,23 @@
7175
<Reference Include="Xamarin.Android.Support.v7.MediaRouter">
7276
<HintPath>..\..\..\packages\Xamarin.Android.Support.v7.MediaRouter.23.3.0\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll</HintPath>
7377
</Reference>
74-
<Reference Include="Xamarin.Forms.Platform.Android">
75-
<HintPath>..\..\..\packages\Xamarin.Forms.2.3.0.107\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath>
76-
</Reference>
77-
<Reference Include="FormsViewGroup">
78-
<HintPath>..\..\..\packages\Xamarin.Forms.2.3.0.107\lib\MonoAndroid10\FormsViewGroup.dll</HintPath>
78+
<Reference Include="Xamarin.Forms.Core, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
79+
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath>
80+
<Private>True</Private>
7981
</Reference>
80-
<Reference Include="Xamarin.Forms.Core">
81-
<HintPath>..\..\..\packages\Xamarin.Forms.2.3.0.107\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath>
82+
<Reference Include="Xamarin.Forms.Platform, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
83+
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Platform.dll</HintPath>
84+
<Private>True</Private>
8285
</Reference>
83-
<Reference Include="Xamarin.Forms.Xaml">
84-
<HintPath>..\..\..\packages\Xamarin.Forms.2.3.0.107\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath>
86+
<Reference Include="Xamarin.Forms.Platform.Android, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
87+
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath>
88+
<Private>True</Private>
8589
</Reference>
86-
<Reference Include="Xamarin.Forms.Platform">
87-
<HintPath>..\..\..\packages\Xamarin.Forms.2.3.0.107\lib\MonoAndroid10\Xamarin.Forms.Platform.dll</HintPath>
90+
<Reference Include="Xamarin.Forms.Xaml, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
91+
<HintPath>..\packages\Xamarin.Forms.2.3.2.127\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath>
92+
<Private>True</Private>
8893
</Reference>
94+
<Reference Include="Mono.Android.Export" />
8995
</ItemGroup>
9096
<ItemGroup>
9197
<Compile Include="MainActivity.cs" />
@@ -139,4 +145,11 @@
139145
<AndroidResource Include="Resources\mipmap-xxhdpi\ic_launcher.png" />
140146
<AndroidResource Include="Resources\mipmap-xxxhdpi\ic_launcher.png" />
141147
</ItemGroup>
148+
<Import Project="..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
149+
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
150+
<PropertyGroup>
151+
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
152+
</PropertyGroup>
153+
<Error Condition="!Exists('..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Xamarin.Forms.2.3.2.127\build\portable-win+net45+wp80+win81+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />
154+
</Target>
142155
</Project>

Samples/Forms/Droid/MainActivity.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ namespace FormsSample.Droid
1313
[Activity (Label = "ZXing Forms", Icon = "@mipmap/ic_launcher", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
1414
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
1515
{
16+
App formsApp;
17+
1618
protected override void OnCreate (Bundle bundle)
1719
{
1820
base.OnCreate (bundle);
@@ -21,12 +23,20 @@ protected override void OnCreate (Bundle bundle)
2123

2224
global::ZXing.Net.Mobile.Forms.Android.Platform.Init ();
2325

24-
LoadApplication (new App ());
26+
formsApp = new App ();
27+
LoadApplication (formsApp);
2528
}
2629

2730
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Permission[] grantResults)
2831
{
29-
global::ZXing.Net.Mobile.Forms.Android.PermissionsHandler.OnRequestPermissionsResult (requestCode, permissions, grantResults);
32+
global::ZXing.Net.Mobile.Android.PermissionsHandler.OnRequestPermissionsResult (requestCode, permissions, grantResults);
33+
}
34+
35+
[Java.Interop.Export ("UITestBackdoorScan")]
36+
public Java.Lang.String UITestBackdoorScan (string param)
37+
{
38+
formsApp.UITestBackdoorScan (param);
39+
return new Java.Lang.String ();
3040
}
3141
}
3242
}

Samples/Forms/Droid/packages.config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@
88
<package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="MonoAndroid60" />
99
<package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" targetFramework="MonoAndroid60" />
1010
<package id="Xamarin.Android.Support.Vector.Drawable" version="23.3.0" targetFramework="MonoAndroid60" />
11-
<package id="Xamarin.Forms" version="2.3.0.107" targetFramework="MonoAndroid60" />
11+
<package id="Xamarin.Forms" version="2.3.2.127" targetFramework="monoandroid60" />
1212
</packages>

0 commit comments

Comments
 (0)