MCPcopy Create free account
hub / github.com/XCSoar/XCSoar / ProxyAndroidPort

Class ProxyAndroidPort

android/src/ProxyAndroidPort.java:32–129  ·  view source on GitHub ↗

A an abstract base class for #AndroidPort implementations that act as a proxy for another #AndroidPort instance.

Source from the content-addressed store, hash-verified

30 * as a proxy for another #AndroidPort instance.
31 */
32abstract class ProxyAndroidPort implements AndroidPort {
33 private volatile AndroidPort port;
34 private volatile PortListener portListener;
35 private volatile InputListener inputListener;
36
37 protected void setPort(AndroidPort _port) {
38 AndroidPort oldPort = this.port;
39 port = _port;
40 if (oldPort != null) {
41 try {
42 oldPort.close();
43 } catch (IOException e) {
44 }
45 }
46
47 if (port != null)
48 port.setInputListener(inputListener);
49
50 stateChanged();
51 }
52
53 @Override public String toString() {
54 AndroidPort port = this.port;
55 return port != null
56 ? port.toString()
57 : super.toString();
58 }
59
60 @Override public void setListener(PortListener _listener) {
61 portListener = _listener;
62
63 AndroidPort port = this.port;
64 if (port != null)
65 port.setListener(_listener);
66 }
67
68 @Override public void setInputListener(InputListener _listener) {
69 inputListener = _listener;
70
71 AndroidPort port = this.port;
72 if (port != null)
73 port.setInputListener(_listener);
74 }
75
76 @Override public void close() {
77 AndroidPort port = this.port;
78 this.port = null;
79 if (port != null) {
80 try {
81 port.close();
82 } catch (IOException e) {
83 }
84 }
85
86 stateChanged();
87 }
88
89 @Override public int getState() {

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected