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

Commit 421f5947 authored by Jack Yu's avatar Jack Yu Committed by Android (Google) Code Review
Browse files

Merge "Refine NFC charging APIs" into main

parents d778698b dc872e07
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -72,7 +72,7 @@ package android.nfc {
    method public void enableReaderMode(android.app.Activity, android.nfc.NfcAdapter.ReaderCallback, int, android.os.Bundle);
    method public static android.nfc.NfcAdapter getDefaultAdapter(android.content.Context);
    method @Nullable public android.nfc.NfcAntennaInfo getNfcAntennaInfo();
    method @FlaggedApi("android.nfc.enable_nfc_charging") @Nullable public android.nfc.WlcLDeviceInfo getWlcLDeviceInfo();
    method @FlaggedApi("android.nfc.enable_nfc_charging") @Nullable public android.nfc.WlcListenerDeviceInfo getWlcListenerDeviceInfo();
    method public boolean ignore(android.nfc.Tag, int, android.nfc.NfcAdapter.OnTagRemovedListener, android.os.Handler);
    method public boolean isEnabled();
    method @FlaggedApi("android.nfc.nfc_observe_mode") public boolean isObserveModeSupported();
@@ -175,18 +175,18 @@ package android.nfc {
    ctor public TagLostException(String);
  }

  @FlaggedApi("android.nfc.enable_nfc_charging") public final class WlcLDeviceInfo implements android.os.Parcelable {
    ctor public WlcLDeviceInfo(double, double, double, int);
  @FlaggedApi("android.nfc.enable_nfc_charging") public final class WlcListenerDeviceInfo implements android.os.Parcelable {
    ctor public WlcListenerDeviceInfo(int, double, double, int);
    method public int describeContents();
    method public double getBatteryLevel();
    method public double getProductId();
    method @FloatRange(from=0.0, to=100.0) public double getBatteryLevel();
    method public int getProductId();
    method public int getState();
    method public double getTemperature();
    method public void writeToParcel(@NonNull android.os.Parcel, int);
    field public static final int CONNECTED_CHARGING = 2; // 0x2
    field public static final int CONNECTED_DISCHARGING = 3; // 0x3
    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.WlcLDeviceInfo> CREATOR;
    field public static final int DISCONNECTED = 1; // 0x1
    field @NonNull public static final android.os.Parcelable.Creator<android.nfc.WlcListenerDeviceInfo> CREATOR;
    field public static final int STATE_CONNECTED_CHARGING = 2; // 0x2
    field public static final int STATE_CONNECTED_DISCHARGING = 3; // 0x3
    field public static final int STATE_DISCONNECTED = 1; // 0x1
  }

}
+2 −2
Original line number Diff line number Diff line
@@ -8,7 +8,6 @@ package android.nfc {
    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable();
    method @FlaggedApi("android.nfc.enable_nfc_reader_option") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableReaderOption(boolean);
    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
    method @FlaggedApi("android.nfc.enable_nfc_charging") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableWlc(boolean);
    method @FlaggedApi("android.nfc.enable_nfc_mainline") public int getAdapterState();
    method @NonNull @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public java.util.Map<java.lang.String,java.lang.Boolean> getTagIntentAppPreferenceForUser(int);
    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean isControllerAlwaysOn();
@@ -20,6 +19,7 @@ package android.nfc {
    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public boolean setControllerAlwaysOn(boolean);
    method @FlaggedApi("android.nfc.enable_nfc_mainline") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setReaderMode(boolean);
    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public int setTagIntentAppPreferenceForUser(int, @NonNull String, boolean);
    method @FlaggedApi("android.nfc.enable_nfc_charging") @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setWlcEnabled(boolean);
    method @RequiresPermission(android.Manifest.permission.NFC_SET_CONTROLLER_ALWAYS_ON) public void unregisterControllerAlwaysOnListener(@NonNull android.nfc.NfcAdapter.ControllerAlwaysOnListener);
    method @FlaggedApi("android.nfc.enable_nfc_charging") public void unregisterWlcStateListener(@NonNull android.nfc.NfcAdapter.WlcStateListener);
    field @FlaggedApi("android.nfc.enable_nfc_mainline") public static final String ACTION_REQUIRE_UNLOCK_FOR_NFC = "android.nfc.action.REQUIRE_UNLOCK_FOR_NFC";
@@ -37,7 +37,7 @@ package android.nfc {
  }

  @FlaggedApi("android.nfc.enable_nfc_charging") public static interface NfcAdapter.WlcStateListener {
    method public void onWlcStateChanged(@NonNull android.nfc.WlcLDeviceInfo);
    method public void onWlcStateChanged(@NonNull android.nfc.WlcListenerDeviceInfo);
  }

}
+3 −3
Original line number Diff line number Diff line
@@ -32,8 +32,8 @@ import android.nfc.ITagRemovedCallback;
import android.nfc.INfcDta;
import android.nfc.INfcWlcStateListener;
import android.nfc.NfcAntennaInfo;
import android.nfc.WlcListenerDeviceInfo;
import android.os.Bundle;
import android.nfc.WlcLDeviceInfo;

/**
 * @hide
@@ -90,11 +90,11 @@ interface INfcAdapter
    boolean setObserveMode(boolean enabled);

    @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)")
    boolean enableWlc(boolean enable);
    boolean setWlcEnabled(boolean enable);
    boolean isWlcEnabled();
    void registerWlcStateListener(in INfcWlcStateListener listener);
    void unregisterWlcStateListener(in INfcWlcStateListener listener);
    WlcLDeviceInfo getWlcLDeviceInfo();
    WlcListenerDeviceInfo getWlcListenerDeviceInfo();

    void updateDiscoveryTechnology(IBinder b, int pollFlags, int listenFlags);

+3 −3
Original line number Diff line number Diff line
@@ -16,7 +16,7 @@

package android.nfc;

import android.nfc.WlcLDeviceInfo;
import android.nfc.WlcListenerDeviceInfo;
/**
 * @hide
 */
@@ -24,7 +24,7 @@ oneway interface INfcWlcStateListener {
  /**
   * Called whenever NFC WLC state changes
   *
   * @param wlcLDeviceInfo NFC wlc listener information
   * @param wlcListenerDeviceInfo NFC wlc listener information
   */
  void onWlcStateChanged(in WlcLDeviceInfo wlcLDeviceInfo);
  void onWlcStateChanged(in WlcListenerDeviceInfo wlcListenerDeviceInfo);
}
+7 −8
Original line number Diff line number Diff line
@@ -2820,13 +2820,12 @@ public final class NfcAdapter {
    @SystemApi
    @FlaggedApi(Flags.FLAG_ENABLE_NFC_CHARGING)
    @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)
    public boolean enableWlc(boolean enable) {
    public boolean setWlcEnabled(boolean enable) {
        if (!sHasNfcWlcFeature) {
            throw new UnsupportedOperationException();
        }
        try {
            return sService.enableWlc(enable);

            return sService.setWlcEnabled(enable);
        } catch (RemoteException e) {
            attemptDeadServiceRecovery(e);
            // Try one more time
@@ -2835,7 +2834,7 @@ public final class NfcAdapter {
                return false;
            }
            try {
                return sService.enableWlc(enable);
                return sService.setWlcEnabled(enable);
            } catch (RemoteException ee) {
                Log.e(TAG, "Failed to recover NFC Service.");
            }
@@ -2887,7 +2886,7 @@ public final class NfcAdapter {
        /**
         * Called on NFC WLC state changes
         */
        void onWlcStateChanged(@NonNull WlcLDeviceInfo wlcLDeviceInfo);
        void onWlcStateChanged(@NonNull WlcListenerDeviceInfo wlcListenerDeviceInfo);
    }

    /**
@@ -2945,12 +2944,12 @@ public final class NfcAdapter {
     */
    @FlaggedApi(Flags.FLAG_ENABLE_NFC_CHARGING)
    @Nullable
    public WlcLDeviceInfo getWlcLDeviceInfo() {
    public WlcListenerDeviceInfo getWlcListenerDeviceInfo() {
        if (!sHasNfcWlcFeature) {
            throw new UnsupportedOperationException();
        }
        try {
            return sService.getWlcLDeviceInfo();
            return sService.getWlcListenerDeviceInfo();
        } catch (RemoteException e) {
            attemptDeadServiceRecovery(e);
            // Try one more time
@@ -2959,7 +2958,7 @@ public final class NfcAdapter {
                return null;
            }
            try {
                return sService.getWlcLDeviceInfo();
                return sService.getWlcListenerDeviceInfo();
            } catch (RemoteException ee) {
                Log.e(TAG, "Failed to recover NFC Service.");
            }
Loading