Loading api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -10627,6 +10627,7 @@ package android.content.pm { field public static final java.lang.String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash"; field public static final java.lang.String FEATURE_CAMERA_FRONT = "android.hardware.camera.front"; field public static final java.lang.String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full"; field public static final java.lang.String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup"; field public static final java.lang.String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice"; field public static final java.lang.String FEATURE_CONSUMER_IR = "android.hardware.consumerir"; field public static final java.lang.String FEATURE_DEVICE_ADMIN = "android.software.device_admin"; api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -11283,6 +11283,7 @@ package android.content.pm { field public static final java.lang.String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash"; field public static final java.lang.String FEATURE_CAMERA_FRONT = "android.hardware.camera.front"; field public static final java.lang.String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full"; field public static final java.lang.String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup"; field public static final java.lang.String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice"; field public static final java.lang.String FEATURE_CONSUMER_IR = "android.hardware.consumerir"; field public static final java.lang.String FEATURE_DEVICE_ADMIN = "android.software.device_admin"; api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -10663,6 +10663,7 @@ package android.content.pm { field public static final java.lang.String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash"; field public static final java.lang.String FEATURE_CAMERA_FRONT = "android.hardware.camera.front"; field public static final java.lang.String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full"; field public static final java.lang.String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup"; field public static final java.lang.String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice"; field public static final java.lang.String FEATURE_CONSUMER_IR = "android.hardware.consumerir"; field public static final java.lang.String FEATURE_DEVICE_ADMIN = "android.software.device_admin"; core/java/android/companion/CompanionDeviceManager.java +31 −1 Original line number Diff line number Diff line Loading @@ -22,10 +22,13 @@ import android.annotation.Nullable; import android.app.PendingIntent; import android.content.Context; import android.content.IntentSender; import android.content.pm.PackageManager; import android.os.Handler; import android.os.Looper; import android.os.RemoteException; import android.util.Log; import java.util.Collections; import java.util.List; /** Loading @@ -40,6 +43,9 @@ import java.util.List; */ public final class CompanionDeviceManager { private static final boolean DEBUG = false; //TODO private static final String LOG_TAG = "CompanionDeviceManager"; /** * A device, returned in the activity result of the {@link IntentSender} received in * {@link Callback#onDeviceFound} Loading Loading @@ -81,7 +87,7 @@ public final class CompanionDeviceManager { /** @hide */ public CompanionDeviceManager( @NonNull ICompanionDeviceManager service, @NonNull Context context) { @Nullable ICompanionDeviceManager service, @NonNull Context context) { mService = service; mContext = context; } Loading Loading @@ -120,6 +126,10 @@ public final class CompanionDeviceManager { @NonNull AssociationRequest request, @NonNull Callback callback, @Nullable Handler handler) { if (!checkFeaturePresent()) { return; } final Handler finalHandler = handler != null ? handler : new Handler(Looper.getMainLooper()); Loading Loading @@ -153,6 +163,9 @@ public final class CompanionDeviceManager { */ @NonNull public List<String> getAssociations() { if (!checkFeaturePresent()) { return Collections.emptyList(); } try { return mService.getAssociations(mContext.getPackageName()); } catch (RemoteException e) { Loading @@ -172,6 +185,9 @@ public final class CompanionDeviceManager { * @param deviceMacAddress the MAC address of device to disassociate from this app */ public void disassociate(@NonNull String deviceMacAddress) { if (!checkFeaturePresent()) { return; } try { mService.disassociate(deviceMacAddress, mContext.getPackageName()); } catch (RemoteException e) { Loading @@ -181,14 +197,28 @@ public final class CompanionDeviceManager { /** @hide */ public void requestNotificationAccess() { if (!checkFeaturePresent()) { return; } //TODO implement throw new UnsupportedOperationException("Not yet implemented"); } /** @hide */ public boolean haveNotificationAccess() { if (!checkFeaturePresent()) { return false; } //TODO implement throw new UnsupportedOperationException("Not yet implemented"); } private boolean checkFeaturePresent() { boolean featurePresent = mService == null; if (!featurePresent && DEBUG) { Log.d(LOG_TAG, "Feature " + PackageManager.FEATURE_COMPANION_DEVICE_SETUP + " not available"); } return featurePresent; } } core/java/android/content/pm/PackageManager.java +9 −0 Original line number Diff line number Diff line Loading @@ -2234,6 +2234,15 @@ public abstract class PackageManager { @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_PRINTING = "android.software.print"; /** * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: * The device supports {@link android.companion.CompanionDeviceManager#associate associating} * with devices via {@link android.companion.CompanionDeviceManager}. */ @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup"; /** * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: * The device can perform backup and restore operations on installed applications. Loading Loading
api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -10627,6 +10627,7 @@ package android.content.pm { field public static final java.lang.String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash"; field public static final java.lang.String FEATURE_CAMERA_FRONT = "android.hardware.camera.front"; field public static final java.lang.String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full"; field public static final java.lang.String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup"; field public static final java.lang.String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice"; field public static final java.lang.String FEATURE_CONSUMER_IR = "android.hardware.consumerir"; field public static final java.lang.String FEATURE_DEVICE_ADMIN = "android.software.device_admin";
api/system-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -11283,6 +11283,7 @@ package android.content.pm { field public static final java.lang.String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash"; field public static final java.lang.String FEATURE_CAMERA_FRONT = "android.hardware.camera.front"; field public static final java.lang.String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full"; field public static final java.lang.String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup"; field public static final java.lang.String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice"; field public static final java.lang.String FEATURE_CONSUMER_IR = "android.hardware.consumerir"; field public static final java.lang.String FEATURE_DEVICE_ADMIN = "android.software.device_admin";
api/test-current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -10663,6 +10663,7 @@ package android.content.pm { field public static final java.lang.String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash"; field public static final java.lang.String FEATURE_CAMERA_FRONT = "android.hardware.camera.front"; field public static final java.lang.String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full"; field public static final java.lang.String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup"; field public static final java.lang.String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice"; field public static final java.lang.String FEATURE_CONSUMER_IR = "android.hardware.consumerir"; field public static final java.lang.String FEATURE_DEVICE_ADMIN = "android.software.device_admin";
core/java/android/companion/CompanionDeviceManager.java +31 −1 Original line number Diff line number Diff line Loading @@ -22,10 +22,13 @@ import android.annotation.Nullable; import android.app.PendingIntent; import android.content.Context; import android.content.IntentSender; import android.content.pm.PackageManager; import android.os.Handler; import android.os.Looper; import android.os.RemoteException; import android.util.Log; import java.util.Collections; import java.util.List; /** Loading @@ -40,6 +43,9 @@ import java.util.List; */ public final class CompanionDeviceManager { private static final boolean DEBUG = false; //TODO private static final String LOG_TAG = "CompanionDeviceManager"; /** * A device, returned in the activity result of the {@link IntentSender} received in * {@link Callback#onDeviceFound} Loading Loading @@ -81,7 +87,7 @@ public final class CompanionDeviceManager { /** @hide */ public CompanionDeviceManager( @NonNull ICompanionDeviceManager service, @NonNull Context context) { @Nullable ICompanionDeviceManager service, @NonNull Context context) { mService = service; mContext = context; } Loading Loading @@ -120,6 +126,10 @@ public final class CompanionDeviceManager { @NonNull AssociationRequest request, @NonNull Callback callback, @Nullable Handler handler) { if (!checkFeaturePresent()) { return; } final Handler finalHandler = handler != null ? handler : new Handler(Looper.getMainLooper()); Loading Loading @@ -153,6 +163,9 @@ public final class CompanionDeviceManager { */ @NonNull public List<String> getAssociations() { if (!checkFeaturePresent()) { return Collections.emptyList(); } try { return mService.getAssociations(mContext.getPackageName()); } catch (RemoteException e) { Loading @@ -172,6 +185,9 @@ public final class CompanionDeviceManager { * @param deviceMacAddress the MAC address of device to disassociate from this app */ public void disassociate(@NonNull String deviceMacAddress) { if (!checkFeaturePresent()) { return; } try { mService.disassociate(deviceMacAddress, mContext.getPackageName()); } catch (RemoteException e) { Loading @@ -181,14 +197,28 @@ public final class CompanionDeviceManager { /** @hide */ public void requestNotificationAccess() { if (!checkFeaturePresent()) { return; } //TODO implement throw new UnsupportedOperationException("Not yet implemented"); } /** @hide */ public boolean haveNotificationAccess() { if (!checkFeaturePresent()) { return false; } //TODO implement throw new UnsupportedOperationException("Not yet implemented"); } private boolean checkFeaturePresent() { boolean featurePresent = mService == null; if (!featurePresent && DEBUG) { Log.d(LOG_TAG, "Feature " + PackageManager.FEATURE_COMPANION_DEVICE_SETUP + " not available"); } return featurePresent; } }
core/java/android/content/pm/PackageManager.java +9 −0 Original line number Diff line number Diff line Loading @@ -2234,6 +2234,15 @@ public abstract class PackageManager { @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_PRINTING = "android.software.print"; /** * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: * The device supports {@link android.companion.CompanionDeviceManager#associate associating} * with devices via {@link android.companion.CompanionDeviceManager}. */ @SdkConstant(SdkConstantType.FEATURE) public static final String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup"; /** * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: * The device can perform backup and restore operations on installed applications. Loading