Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5311ad3f authored by Hall Liu's avatar Hall Liu
Browse files

Expose requestModemActivityInfo

Expose requestModemActivityInfo in TelephonyManager using the Executor +
Consumer pattern, and modify clients to use it.

Test: atest TelephonyManagerTest#testRequestModemActivityInfo
Fixes: 170427831
Change-Id: I7e8134c8058017b888c324a9f85d473fc3cdd8f5
parent c7393c8e
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -36671,6 +36671,11 @@ package android.os {
    ctor public OperationCanceledException(String);
  }
  public interface OutcomeReceiver<R, E extends java.lang.Throwable> {
    method public default void onError(@NonNull E);
    method public void onResult(@NonNull R);
  }
  public final class Parcel {
    method public void appendFrom(android.os.Parcel, int, int);
    method @Nullable public android.os.IBinder[] createBinderArray();
+9 −0
Original line number Diff line number Diff line
@@ -11802,6 +11802,7 @@ package android.telephony {
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean rebootRadio();
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void reportDefaultNetworkStatus(boolean);
    method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.MODIFY_PHONE_STATE}) public void requestCellInfoUpdate(@NonNull android.os.WorkSource, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.TelephonyManager.CellInfoCallback);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestModemActivityInfo(@NonNull java.util.concurrent.Executor, @NonNull android.os.OutcomeReceiver<android.telephony.ModemActivityInfo,android.telephony.TelephonyManager.ModemActivityInfoException>);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void requestNumberVerification(@NonNull android.telephony.PhoneNumberRange, long, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.NumberVerificationCallback);
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetAllCarrierActions();
    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void resetCarrierKeysForImsiEncryption();
@@ -11920,6 +11921,14 @@ package android.telephony {
    field public static final int RESULT_SUCCESS = 0; // 0x0
  }
  public static class TelephonyManager.ModemActivityInfoException extends java.lang.Exception {
    method public int getErrorCode();
    field public static final int ERROR_INVALID_INFO_RECEIVED = 2; // 0x2
    field public static final int ERROR_MODEM_RESPONSE_ERROR = 3; // 0x3
    field public static final int ERROR_PHONE_NOT_AVAILABLE = 1; // 0x1
    field public static final int ERROR_UNKNOWN = 0; // 0x0
  }
  public final class UiccAccessRule implements android.os.Parcelable {
    ctor public UiccAccessRule(byte[], @Nullable String, long);
    method public int describeContents();
+1 −0
Original line number Diff line number Diff line
@@ -1735,6 +1735,7 @@ package android.telephony {

  public final class ModemActivityInfo implements android.os.Parcelable {
    ctor public ModemActivityInfo(long, int, int, @NonNull int[], int);
    method public boolean isEmpty();
    method public boolean isValid();
  }

+42 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2020 The Android Open Source Project
 *
 * 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
 *
 *      http://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 android.os;

import android.annotation.NonNull;

/**
 * Callback interface intended for use when an asynchronous operation may result in a failure.
 *
 * This interface may be used in cases where an asynchronous API may complete either with a value
 * or with a {@link Throwable} that indicates an error.
 * @param <R> The type of the result that's being sent.
 * @param <E> The type of the {@link Throwable} that contains more information about the error.
 */
public interface OutcomeReceiver<R, E extends Throwable> {
    /**
     * Called when the asynchronous operation succeeds and delivers a result value.
     * @param result The value delivered by the asynchronous operation.
     */
    void onResult(@NonNull R result);

    /**
     * Called when the asynchronous operation fails. The mode of failure is indicated by the
     * {@link Throwable} passed as an argument to this method.
     * @param error A subclass of {@link Throwable} with more details about the error that occurred.
     */
    default void onError(@NonNull E error) {}
}
+5 −0
Original line number Diff line number Diff line
@@ -35200,6 +35200,11 @@ package android.os {
    ctor public OperationCanceledException(String);
  }
  public interface OutcomeReceiver<R, E extends java.lang.Throwable> {
    method public default void onError(@NonNull E);
    method public void onResult(@NonNull R);
  }
  public final class Parcel {
    method public void appendFrom(android.os.Parcel, int, int);
    method @Nullable public android.os.IBinder[] createBinderArray();
Loading