Skip to content

Commit c11f9fd

Browse files
[tests] fully move to AndroidX.Wear
1 parent da3e88a commit c11f9fd

File tree

4 files changed

+34
-41
lines changed

4 files changed

+34
-41
lines changed

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/WearTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ public void BasicProject ([Values (true, false)] bool isRelease)
2121
[Test]
2222
public void BundledWearApp ()
2323
{
24-
var target = "_UpdateAndroidResgen";
2524
var path = Path.Combine ("temp", TestName);
2625
var app = new XamarinAndroidApplicationProject {
2726
ProjectName = "MyApp",

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Android/XamarinAndroidWearApplicationProject.cs

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,25 @@
33
using System.IO;
44
using System.Diagnostics;
55
using System.Runtime.CompilerServices;
6+
using System.Linq;
67

78
namespace Xamarin.ProjectTools
89
{
10+
/// <summary>
11+
/// Migrated from Android.Support to AndroidX
12+
/// see: https://android-developers.googleblog.com/2016/04/build-beautifully-for-android-wear.html
13+
/// </summary>
914
public class XamarinAndroidWearApplicationProject : XamarinAndroidApplicationProject
1015
{
1116
static readonly string default_strings_xml, default_main_activity;
12-
static readonly string default_layout_main, default_layout_rect_main, default_layout_round_main;
17+
static readonly string default_layout_rect_main, default_layout_round_main;
1318

1419
static XamarinAndroidWearApplicationProject ()
1520
{
1621
using (var sr = new StreamReader (typeof(XamarinAndroidApplicationProject).Assembly.GetManifestResourceStream ("Xamarin.ProjectTools.Resources.Wear.MainActivity.cs")))
1722
default_main_activity = sr.ReadToEnd ();
1823
using (var sr = new StreamReader (typeof(XamarinAndroidApplicationProject).Assembly.GetManifestResourceStream ("Xamarin.ProjectTools.Resources.Wear.Strings.xml")))
1924
default_strings_xml = sr.ReadToEnd ();
20-
using (var sr = new StreamReader (typeof(XamarinAndroidApplicationProject).Assembly.GetManifestResourceStream ("Xamarin.ProjectTools.Resources.Wear.LayoutMain.axml")))
21-
default_layout_main = sr.ReadToEnd ();
2225
using (var sr = new StreamReader (typeof(XamarinAndroidApplicationProject).Assembly.GetManifestResourceStream ("Xamarin.ProjectTools.Resources.Wear.LayoutRectMain.axml")))
2326
default_layout_rect_main = sr.ReadToEnd ();
2427
using (var sr = new StreamReader (typeof(XamarinAndroidApplicationProject).Assembly.GetManifestResourceStream ("Xamarin.ProjectTools.Resources.Wear.LayoutRoundMain.axml")))
@@ -30,14 +33,21 @@ public XamarinAndroidWearApplicationProject (string debugConfigurationName = "De
3033
{
3134
PackageReferences.Add (KnownPackages.XamarinAndroidXWear);
3235

36+
// uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library androidx.wear.wear.aar as the library might be using APIs not available in 21
37+
SupportedOSPlatformVersion = "23";
38+
3339
MainActivity = default_main_activity;
3440
StringsXml = default_strings_xml;
35-
LayoutMain = default_layout_main;
3641
LayoutRectMain = default_layout_rect_main;
3742
LayoutRoundMain = default_layout_round_main;
3843

39-
AndroidResources.Add (new AndroidItem.AndroidResource ("Resources\\layout\\RectangleMain.axml") { TextContent = () => LayoutRectMain });
40-
AndroidResources.Add (new AndroidItem.AndroidResource ("Resources\\layout\\RoundMain.axml") { TextContent = () => LayoutRoundMain });
44+
// Remove Resources\layout\Main.axml
45+
var main = AndroidResources.FirstOrDefault (a => a.Include () == "Resources\\layout\\Main.axml");
46+
if (main != null)
47+
AndroidResources.Remove (main);
48+
49+
AndroidResources.Add (new AndroidItem.AndroidResource ("Resources\\layout-notround\\activity_main.axml") { TextContent = () => LayoutRectMain });
50+
AndroidResources.Add (new AndroidItem.AndroidResource ("Resources\\layout-round\\activity_main.axml") { TextContent = () => LayoutRoundMain });
4151
}
4252

4353
public string LayoutRectMain { get; set; }

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Wear/LayoutMain.axml

Lines changed: 0 additions & 11 deletions
This file was deleted.

src/Xamarin.Android.Build.Tasks/Tests/Xamarin.ProjectTools/Resources/Wear/MainActivity.cs

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
using System;
1+
using System;
22

33
using Android.App;
44
using Android.Content;
55
using Android.OS;
66
using Android.Runtime;
7-
using Android.Support.V4.App;
8-
using Android.Support.Wearable.Views;
97
using Android.Views;
108
using Android.Widget;
9+
using AndroidX.Core.App;
1110
//${USINGS}
1211

1312
namespace ${ROOT_NAMESPACE}
@@ -22,26 +21,22 @@ protected override void OnCreate (Bundle bundle)
2221
base.OnCreate (bundle);
2322

2423
// Set our view from the "main" layout resource
25-
SetContentView (Resource.Layout.Main);
26-
27-
var v = FindViewById<WatchViewStub> (Resource.Id.watch_view_stub);
28-
v.LayoutInflated += delegate {
29-
30-
// Get our button from the layout resource,
31-
// and attach an event to it
32-
Button button = FindViewById<Button> (Resource.Id.myButton);
33-
34-
button.Click += delegate {
35-
var notification = new NotificationCompat.Builder (this)
36-
.SetContentTitle ("Button tapped")
37-
.SetContentText ("Button tapped " + count++ + " times!")
38-
.SetSmallIcon (Android.Resource.Drawable.StatNotifyVoicemail)
39-
.SetGroup ("group_key_demo").Build ();
40-
41-
var manager = NotificationManagerCompat.From (this);
42-
manager.Notify (1, notification);
43-
button.Text = "Check Notification!";
44-
};
24+
SetContentView (Resource.Layout.activity_main);
25+
26+
// Get our button from the layout resource,
27+
// and attach an event to it
28+
Button button = FindViewById<Button> (Resource.Id.myButton);
29+
30+
button.Click += delegate {
31+
var notification = new NotificationCompat.Builder (this)
32+
.SetContentTitle ("Button tapped")
33+
.SetContentText ("Button tapped " + count++ + " times!")
34+
.SetSmallIcon (Android.Resource.Drawable.StatNotifyVoicemail)
35+
.SetGroup ("group_key_demo").Build ();
36+
37+
var manager = NotificationManagerCompat.From (this);
38+
manager.Notify (1, notification);
39+
button.Text = "Check Notification!";
4540
};
4641
}
4742
}

0 commit comments

Comments
 (0)