summaryrefslogtreecommitdiff
path: root/csharp/test/xamarin/controller.Android/MainActivity.cs
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2018-09-12 14:48:57 +0200
committerJose <jose@zeroc.com>2018-09-12 14:48:57 +0200
commitf9801ab21989e330015ffa274493e775671fe865 (patch)
tree99f7cf77ab7863117aa8ee7f2f8047afc6351d58 /csharp/test/xamarin/controller.Android/MainActivity.cs
parentMissing C++ header include (diff)
downloadice-f9801ab21989e330015ffa274493e775671fe865.tar.bz2
ice-f9801ab21989e330015ffa274493e775671fe865.tar.xz
ice-f9801ab21989e330015ffa274493e775671fe865.zip
Make test controllers layout more consistent
Close #184
Diffstat (limited to 'csharp/test/xamarin/controller.Android/MainActivity.cs')
-rw-r--r--csharp/test/xamarin/controller.Android/MainActivity.cs108
1 files changed, 108 insertions, 0 deletions
diff --git a/csharp/test/xamarin/controller.Android/MainActivity.cs b/csharp/test/xamarin/controller.Android/MainActivity.cs
new file mode 100644
index 00000000000..5540cbd2e99
--- /dev/null
+++ b/csharp/test/xamarin/controller.Android/MainActivity.cs
@@ -0,0 +1,108 @@
+// **********************************************************************
+//
+// Copyright (c) 2003-2018 ZeroC, Inc. All rights reserved.
+//
+// This copy of Ice is licensed to you under the terms described in the
+// ICE_LICENSE file included in this distribution.
+//
+// **********************************************************************
+
+using System;
+using Android.App;
+using Android.Content.PM;
+using Android.OS;
+using Android.Util;
+
+namespace controller.Droid
+{
+ public class AndroidLogger : Ice.Logger
+ {
+ private const string TAG = "ControllerApp";
+ private string _prefix;
+
+ public AndroidLogger(string prefix)
+ {
+ _prefix = prefix;
+ }
+
+ public void print(string message)
+ {
+ Log.Debug(TAG, message);
+ }
+
+ public void trace(String category, String message)
+ {
+ Log.Verbose(category, message);
+ }
+
+ public void warning(String message)
+ {
+ Log.Warn(TAG, message);
+ }
+
+ public void error(String message)
+ {
+ Log.Error(TAG, message);
+ }
+
+ public String getPrefix()
+ {
+ return _prefix;
+ }
+
+ public Ice.Logger cloneWithPrefix(string s)
+ {
+ return new AndroidLogger(s);
+ }
+ }
+
+ [Activity(Label = "controller",
+ Name = "controller.MainActivity",
+ Icon = "@mipmap/icon",
+ Theme = "@style/MainTheme",
+ MainLauncher = true,
+ ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
+ public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity,
+ Test.PlatformAdapter
+ {
+ protected override void OnCreate(Bundle bundle)
+ {
+ Ice.Util.setProcessLogger(new AndroidLogger(""));
+ TabLayoutResource = Resource.Layout.Tabbar;
+ ToolbarResource = Resource.Layout.Toolbar;
+
+ base.OnCreate(bundle);
+
+ global::Xamarin.Forms.Forms.Init(this, bundle);
+ LoadApplication(new App(this));
+ }
+
+ public bool registerProcessController()
+ {
+ return true;
+ }
+
+ public bool isEmulator()
+ {
+ return Build.Fingerprint.Contains("vbox") ||
+ Build.Fingerprint.Contains("generic") ||
+ Build.Fingerprint.Contains("unknown") ||
+ Build.Model.Contains("google_sdk") ||
+ Build.Model.Contains("Emulator") ||
+ Build.Model.Contains("Android SDK built for x86") ||
+ Build.Manufacturer.Contains("Genymotion") ||
+ (Build.Brand.StartsWith("generic") && Build.Device.StartsWith("generic")) ||
+ Build.Product.Equals("google_sdk");
+ }
+
+ public string processControllerIdentity()
+ {
+ return "Android/ProcessController";
+ }
+
+ public string processControllerRegistryHost()
+ {
+ return isEmulator() ? "10.0.2.2" : "127.0.0.1";
+ }
+ }
+}