WifiDisplayModelCallback.cs 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using LitJson;
  5. using Unity.XR.PXR;
  6. using UnityEngine;
  7. namespace Unity.XR.PXR
  8. {
  9. public class WifiDisplayModelCallback : AndroidJavaProxy
  10. {
  11. public Action<List<WifiDisplayModel>> mCallback;
  12. public WifiDisplayModelCallback(Action<List<WifiDisplayModel>> callback) : base("com.picoxr.tobservice.interfaces.StringCallback")
  13. {
  14. mCallback = callback;
  15. }
  16. public void CallBack(string var1)
  17. {
  18. Debug.Log("ToBService WifiDisplayModelCallback 回调:" + var1);
  19. List<WifiDisplayModel> tmp = JsonToWifiDisplayModel(var1);
  20. PXR_EnterpriseTools.QueueOnMainThread(() =>
  21. {
  22. if (mCallback != null)
  23. {
  24. mCallback(tmp);
  25. }
  26. });
  27. }
  28. public List<WifiDisplayModel> JsonToWifiDisplayModel(string json)
  29. {
  30. if (string.IsNullOrEmpty(json))
  31. {
  32. return null;
  33. }
  34. List<WifiDisplayModel> ModelList = new List<WifiDisplayModel>();
  35. JsonData jsonData = JsonMapper.ToObject(json);
  36. IDictionary dictionary = jsonData as IDictionary;
  37. for (int i = 0; i < dictionary.Count; i++)
  38. {
  39. WifiDisplayModel model = new WifiDisplayModel();
  40. model.deviceAddress = jsonData[i]["deviceAddress"].ToString();
  41. model.deviceName = jsonData[i]["deviceName"].ToString();
  42. model.isAvailable = bool.Parse(jsonData[i]["isAvailable"].ToString());
  43. model.canConnect = bool.Parse(jsonData[i]["canConnect"].ToString());
  44. model.isRemembered = bool.Parse(jsonData[i]["isRemembered"].ToString());
  45. model.statusCode = int.Parse(jsonData[i]["statusCode"].ToString());
  46. model.status = jsonData[i]["status"].ToString();
  47. model.description = jsonData[i]["description"].ToString();
  48. ModelList.Add(model);
  49. }
  50. return ModelList;
  51. }
  52. }
  53. }
粤ICP备19079148号