···2222import android.util.Log;
2323import android.view.Surface;
2424import android.view.SurfaceHolder;
2525-2625import androidx.annotation.Keep;
2726import androidx.annotation.Nullable;
2828-2727+import java.io.IOException;
2828+import java.util.concurrent.Executors;
2929import org.freedesktop.monado.auxiliary.MonadoView;
3030import org.freedesktop.monado.auxiliary.NativeCounterpart;
3131import org.freedesktop.monado.auxiliary.SystemUiController;
32323333-import java.io.IOException;
3434-import java.util.concurrent.Executors;
3535-3633/**
3734 * Provides the client-side code to initiate connection to Monado IPC service.
3835 *
···4138@Keep
4239public class Client implements ServiceConnection {
4340 private static final String TAG = "monado-ipc-client";
4141+4442 /** Used to block until binder is ready. */
4543 private final Object binderSync = new Object();
4444+4645 /** Keep track of the ipc_client_android instance over on the native side. */
4746 private final NativeCounterpart nativeCounterpart;
4747+4848 /**
4949 * Pointer to local IPC proxy: calling methods on it automatically transports arguments across
5050 * binder IPC.
···5252 * <p>May be null!
5353 */
5454 @Keep public IMonado monado = null;
5555+5556 /**
5657 * Indicates that we tried to connect but failed.
5758 *
···5960 * failed" null monado member.
6061 */
6162 @Keep public boolean failed = false;
6363+6264 /**
6365 * "Our" side of the socket pair - the other side is sent to the server automatically on
6466 * connection.
6567 */
6668 private ParcelFileDescriptor fd = null;
6969+6770 /** Context provided by app. */
6871 private Context context = null;
7272+6973 /** Context of the runtime package */
7074 private Context runtimePackageContext = null;
7575+7176 /** Control system ui visibility */
7277 private SystemUiController systemUiController = null;
7378