@@ -0,0 +1,2199 @@
+// Copyright 2018 The Bazel Authors. All rights reserved.%0A//%0A// Licensed under the Apache License, Version 2.0 (the %22License%22);%0A// you may not use this file except in compliance with the License.%0A// You may obtain a copy of the License at%0A//%0A//    http://www.apache.org/licenses/LICENSE-2.0%0A//%0A// Unless required by applicable law or agreed to in writing, software%0A// distributed under the License is distributed on an %22AS IS%22 BASIS,%0A// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A// See the License for the specific language governing permissions and%0A// limitations under the License.%0Apackage com.google.devtools.build.android.desugar.runtime;%0A%0Aimport android.telephony.AvailableNetworkInfo;%0Aimport android.telephony.TelephonyManager;%0Aimport java.util.List;%0Aimport java.util.concurrent.Executor;%0Aimport java.util.function.Consumer;%0A%0A/**%0A * Conversion from desugared to built-in %7B@link Consumer%7D for calling built-in Android APIs (see%0A * b/128638076).%0A */%0A// TODO(b/74087778): Unnecessary when j$.u.f.Consumer becomes subtype of built-in j.u.f.Consumer%0A@SuppressWarnings(%22AndroidJdkLibsChecker%22)%0Apublic final class ConsumerWrapper%3CT%3E implements Consumer%3CT%3E %7B%0A%0A  private final j$.util.function.Consumer%3CT%3E wrapped;%0A%0A  private ConsumerWrapper(j$.util.function.Consumer%3CT%3E wrapped) %7B%0A    this.wrapped = wrapped;%0A  %7D%0A%0A  @Override%0A  public void accept(T t) %7B%0A    wrapped.accept(t);%0A  %7D%0A%0A  public static void setPreferredOpportunisticDataSubscription(%0A      TelephonyManager receiver,%0A      int subId,%0A      boolean needValidation,%0A      Executor executor,%0A      j$.util.function.Consumer%3CInteger%3E callback) %7B%0A    receiver.setPreferredOpportunisticDataSubscription(%0A        subId,%0A        needValidation,%0A        executor,%0A        callback != null ? new ConsumerWrapper%3CInteger%3E(callback) : null);%0A  %7D%0A%0A  public static void updateAvailableNetworks(%0A      TelephonyManager receiver,%0A      List%3CAvailableNetworkInfo%3E availableNetworks,%0A      Executor executor,%0A      j$.util.function.Consumer%3CInteger%3E callback) %7B%0A    receiver.updateAvailableNetworks(%0A        availableNetworks,%0A        executor,%0A        callback != null ? new ConsumerWrapper%3CInteger%3E(callback) : null);%0A  %7D%0A%7D%0A

Update with v28.0.0 build id #5388695 to Android experimental channel