pw_transfer: Introduce Manager.java for API compatibility

The transfer client was renamed from Manager to TransferClient. This
class reintroduces the Manager class to maintain API compatibility
through the upcoming transfer client refactor.

Change-Id: Idd9ad7a8ac71ce4a1ff9abd4b26c79f90451536c
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/95182
Reviewed-by: Alexei Frolov <frolv@google.com>
Pigweed-Auto-Submit: Wyatt Hepler <hepler@google.com>
Commit-Queue: Wyatt Hepler <hepler@google.com>
diff --git a/pw_transfer/java/main/dev/pigweed/pw_transfer/BUILD.bazel b/pw_transfer/java/main/dev/pigweed/pw_transfer/BUILD.bazel
index e1578c3..e418663 100644
--- a/pw_transfer/java/main/dev/pigweed/pw_transfer/BUILD.bazel
+++ b/pw_transfer/java/main/dev/pigweed/pw_transfer/BUILD.bazel
@@ -18,6 +18,7 @@
 java_library(
     name = "client",
     srcs = [
+        "Manager.java",
         "ReadTransfer.java",
         "Transfer.java",
         "TransferClient.java",
diff --git a/pw_transfer/java/main/dev/pigweed/pw_transfer/Manager.java b/pw_transfer/java/main/dev/pigweed/pw_transfer/Manager.java
new file mode 100644
index 0000000..04dcd8f
--- /dev/null
+++ b/pw_transfer/java/main/dev/pigweed/pw_transfer/Manager.java
@@ -0,0 +1,56 @@
+// Copyright 2022 The Pigweed Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License"); you may not
+// use this file except in compliance with the License. You may obtain a copy of
+// the License at
+//
+//     https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+// License for the specific language governing permissions and limitations under
+// the License.
+
+package dev.pigweed.pw_transfer;
+
+import dev.pigweed.pw_rpc.MethodClient;
+import java.util.function.BooleanSupplier;
+import java.util.function.Consumer;
+
+/**
+ * Manager was renamed to TransferClient.
+ *
+ * This class will maintain the current API when TransferClient is refactored, then it will be
+ * deprecated.
+ */
+public class Manager extends TransferClient {
+  /**
+   * Creates a new transfer client for sending and receiving data with pw_transfer.
+   *
+   * @param readMethod Method client for the pw.transfer.Transfer.Read method.
+   * @param writeMethod Method client for the pw.transfer.Transfer.Write method.
+   * @param workDispatcher Will be deprecated when TransferClient is refactored.
+   * @param transferTimeoutMillis How long to wait for communication from the server. If the server
+   * delays longer than this, retry up to maxRetries times.
+   * @param initialTransferTimeoutMillis How long to wait for the initial communication from the
+   * server. If the server delays longer than this, retry up to maxRetries times.
+   * @param maxRetries How many times to retry if a communication times out.
+   * @param shouldAbortCallback BooleanSupplier that returns true if a transfer should be aborted.
+   */
+  public Manager(MethodClient readMethod,
+      MethodClient writeMethod,
+      Consumer<Runnable> workDispatcher,
+      int transferTimeoutMillis,
+      int initialTransferTimeoutMillis,
+      int maxRetries,
+      BooleanSupplier shouldAbortCallback) {
+    super(readMethod,
+        writeMethod,
+        workDispatcher,
+        transferTimeoutMillis,
+        initialTransferTimeoutMillis,
+        maxRetries,
+        shouldAbortCallback);
+  }
+}