1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
|
//
// Copyright (c) ZeroC, Inc. All rights reserved.
//
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 isEmulator()
{
return Build.Fingerprint.Contains("google/sdk_gphone") ||
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 "AndroidXamarin/ProcessController";
}
public string processControllerRegistryHost()
{
return isEmulator() ? "10.0.2.2" : ""; // With an empty host, the controller will use IceDiscovery.
}
}
}
|