MaxstARSDK  3.5.0
WearableDeviceController.cs
1 /*==============================================================================
2 Copyright 2017 Maxst, Inc. All Rights Reserved.
3 ==============================================================================*/
4 
5 using System;
6 using UnityEngine;
7 using System.Collections;
8 
9 namespace maxstAR
10 {
11  internal class WearableDeviceController : IDisposable
12  {
13  private AndroidJavaObject javaObject = null;
14 
15  internal WearableDeviceController()
16  {
17  AndroidJavaClass javaUnityPlayer = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
18  AndroidJavaObject currentActivity = javaUnityPlayer.GetStatic<AndroidJavaObject>("currentActivity");
19 
20  AndroidJavaClass javaClass = new AndroidJavaClass("com.maxst.ar.wearable.WearableDeviceController");
21  javaObject = javaClass.CallStatic<AndroidJavaObject>("createDeviceController", currentActivity);
22 
23  currentActivity.Dispose();
24  javaUnityPlayer.Dispose();
25  javaClass.Dispose();
26  }
27 
28  public void Dispose()
29  {
30  if (javaObject != null)
31  {
32  javaObject.Dispose();
33  javaObject = null;
34  }
35  }
36 
37  public bool IsSupportedWearableDevice()
38  {
39  if (javaObject == null)
40  {
41  return false;
42  }
43 
44  return javaObject.Call<bool>("isSupportedWearableDevice");
45  }
46 
47  public string GetModelName()
48  {
49  if (javaObject == null)
50  {
51  return "";
52  }
53 
54  return javaObject.Call<string>("getModelName");
55  }
56 
57  public void SetStereoMode(bool toggle)
58  {
59  if (javaObject == null)
60  {
61  return;
62  }
63 
64  javaObject.Call("setStereoMode", toggle);
65  }
66 
67  public bool IsStereoEnabled()
68  {
69  if (javaObject == null)
70  {
71  return false;
72  }
73 
74  return javaObject.Call<bool>("isStereoEnabled");
75  }
76  }
77 }