Merge "Add attr for nfc applications to configure support power states" am: 809b2f2459
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1470724 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: I3d789cfa9ba6cc199e53663eda34f8c4586b1dbf
This commit is contained in:
@@ -1142,6 +1142,7 @@ package android {
|
|||||||
field public static final int reqNavigation = 16843306; // 0x101022a
|
field public static final int reqNavigation = 16843306; // 0x101022a
|
||||||
field public static final int reqTouchScreen = 16843303; // 0x1010227
|
field public static final int reqTouchScreen = 16843303; // 0x1010227
|
||||||
field public static final int requestLegacyExternalStorage = 16844291; // 0x1010603
|
field public static final int requestLegacyExternalStorage = 16844291; // 0x1010603
|
||||||
|
field public static final int requireDeviceScreenOn = 16844312; // 0x1010618
|
||||||
field public static final int requireDeviceUnlock = 16843756; // 0x10103ec
|
field public static final int requireDeviceUnlock = 16843756; // 0x10103ec
|
||||||
field public static final int required = 16843406; // 0x101028e
|
field public static final int required = 16843406; // 0x101028e
|
||||||
field public static final int requiredAccountType = 16843734; // 0x10103d6
|
field public static final int requiredAccountType = 16843734; // 0x10103d6
|
||||||
|
|||||||
@@ -96,6 +96,11 @@ public final class ApduServiceInfo implements Parcelable {
|
|||||||
*/
|
*/
|
||||||
final boolean mRequiresDeviceUnlock;
|
final boolean mRequiresDeviceUnlock;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether this service should only be started when the device is screen on.
|
||||||
|
*/
|
||||||
|
final boolean mRequiresDeviceScreenOn;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The id of the service banner specified in XML.
|
* The id of the service banner specified in XML.
|
||||||
*/
|
*/
|
||||||
@@ -119,6 +124,18 @@ public final class ApduServiceInfo implements Parcelable {
|
|||||||
ArrayList<AidGroup> staticAidGroups, ArrayList<AidGroup> dynamicAidGroups,
|
ArrayList<AidGroup> staticAidGroups, ArrayList<AidGroup> dynamicAidGroups,
|
||||||
boolean requiresUnlock, int bannerResource, int uid,
|
boolean requiresUnlock, int bannerResource, int uid,
|
||||||
String settingsActivityName, String offHost, String staticOffHost) {
|
String settingsActivityName, String offHost, String staticOffHost) {
|
||||||
|
this(info, onHost, description, staticAidGroups, dynamicAidGroups,
|
||||||
|
requiresUnlock, onHost ? true : false, bannerResource, uid,
|
||||||
|
settingsActivityName, offHost, staticOffHost);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public ApduServiceInfo(ResolveInfo info, boolean onHost, String description,
|
||||||
|
ArrayList<AidGroup> staticAidGroups, ArrayList<AidGroup> dynamicAidGroups,
|
||||||
|
boolean requiresUnlock, boolean requiresScreenOn, int bannerResource, int uid,
|
||||||
|
String settingsActivityName, String offHost, String staticOffHost) {
|
||||||
this.mService = info;
|
this.mService = info;
|
||||||
this.mDescription = description;
|
this.mDescription = description;
|
||||||
this.mStaticAidGroups = new HashMap<String, AidGroup>();
|
this.mStaticAidGroups = new HashMap<String, AidGroup>();
|
||||||
@@ -127,6 +144,7 @@ public final class ApduServiceInfo implements Parcelable {
|
|||||||
this.mStaticOffHostName = staticOffHost;
|
this.mStaticOffHostName = staticOffHost;
|
||||||
this.mOnHost = onHost;
|
this.mOnHost = onHost;
|
||||||
this.mRequiresDeviceUnlock = requiresUnlock;
|
this.mRequiresDeviceUnlock = requiresUnlock;
|
||||||
|
this.mRequiresDeviceScreenOn = requiresScreenOn;
|
||||||
for (AidGroup aidGroup : staticAidGroups) {
|
for (AidGroup aidGroup : staticAidGroups) {
|
||||||
this.mStaticAidGroups.put(aidGroup.category, aidGroup);
|
this.mStaticAidGroups.put(aidGroup.category, aidGroup);
|
||||||
}
|
}
|
||||||
@@ -183,6 +201,9 @@ public final class ApduServiceInfo implements Parcelable {
|
|||||||
mRequiresDeviceUnlock = sa.getBoolean(
|
mRequiresDeviceUnlock = sa.getBoolean(
|
||||||
com.android.internal.R.styleable.HostApduService_requireDeviceUnlock,
|
com.android.internal.R.styleable.HostApduService_requireDeviceUnlock,
|
||||||
false);
|
false);
|
||||||
|
mRequiresDeviceScreenOn = sa.getBoolean(
|
||||||
|
com.android.internal.R.styleable.HostApduService_requireDeviceScreenOn,
|
||||||
|
true);
|
||||||
mBannerResourceId = sa.getResourceId(
|
mBannerResourceId = sa.getResourceId(
|
||||||
com.android.internal.R.styleable.HostApduService_apduServiceBanner, -1);
|
com.android.internal.R.styleable.HostApduService_apduServiceBanner, -1);
|
||||||
mSettingsActivityName = sa.getString(
|
mSettingsActivityName = sa.getString(
|
||||||
@@ -196,7 +217,12 @@ public final class ApduServiceInfo implements Parcelable {
|
|||||||
mService = info;
|
mService = info;
|
||||||
mDescription = sa.getString(
|
mDescription = sa.getString(
|
||||||
com.android.internal.R.styleable.OffHostApduService_description);
|
com.android.internal.R.styleable.OffHostApduService_description);
|
||||||
mRequiresDeviceUnlock = false;
|
mRequiresDeviceUnlock = sa.getBoolean(
|
||||||
|
com.android.internal.R.styleable.OffHostApduService_requireDeviceUnlock,
|
||||||
|
false);
|
||||||
|
mRequiresDeviceScreenOn = sa.getBoolean(
|
||||||
|
com.android.internal.R.styleable.OffHostApduService_requireDeviceScreenOn,
|
||||||
|
false);
|
||||||
mBannerResourceId = sa.getResourceId(
|
mBannerResourceId = sa.getResourceId(
|
||||||
com.android.internal.R.styleable.OffHostApduService_apduServiceBanner, -1);
|
com.android.internal.R.styleable.OffHostApduService_apduServiceBanner, -1);
|
||||||
mSettingsActivityName = sa.getString(
|
mSettingsActivityName = sa.getString(
|
||||||
@@ -419,6 +445,13 @@ public final class ApduServiceInfo implements Parcelable {
|
|||||||
return mRequiresDeviceUnlock;
|
return mRequiresDeviceUnlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether this service should only be started when the device is screen on.
|
||||||
|
*/
|
||||||
|
public boolean requiresScreenOn() {
|
||||||
|
return mRequiresDeviceScreenOn;
|
||||||
|
}
|
||||||
|
|
||||||
@UnsupportedAppUsage
|
@UnsupportedAppUsage
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return mDescription;
|
return mDescription;
|
||||||
@@ -542,6 +575,7 @@ public final class ApduServiceInfo implements Parcelable {
|
|||||||
dest.writeTypedList(new ArrayList<AidGroup>(mDynamicAidGroups.values()));
|
dest.writeTypedList(new ArrayList<AidGroup>(mDynamicAidGroups.values()));
|
||||||
}
|
}
|
||||||
dest.writeInt(mRequiresDeviceUnlock ? 1 : 0);
|
dest.writeInt(mRequiresDeviceUnlock ? 1 : 0);
|
||||||
|
dest.writeInt(mRequiresDeviceScreenOn ? 1 : 0);
|
||||||
dest.writeInt(mBannerResourceId);
|
dest.writeInt(mBannerResourceId);
|
||||||
dest.writeInt(mUid);
|
dest.writeInt(mUid);
|
||||||
dest.writeString(mSettingsActivityName);
|
dest.writeString(mSettingsActivityName);
|
||||||
@@ -568,11 +602,12 @@ public final class ApduServiceInfo implements Parcelable {
|
|||||||
source.readTypedList(dynamicAidGroups, AidGroup.CREATOR);
|
source.readTypedList(dynamicAidGroups, AidGroup.CREATOR);
|
||||||
}
|
}
|
||||||
boolean requiresUnlock = source.readInt() != 0;
|
boolean requiresUnlock = source.readInt() != 0;
|
||||||
|
boolean requiresScreenOn = source.readInt() != 0;
|
||||||
int bannerResource = source.readInt();
|
int bannerResource = source.readInt();
|
||||||
int uid = source.readInt();
|
int uid = source.readInt();
|
||||||
String settingsActivityName = source.readString();
|
String settingsActivityName = source.readString();
|
||||||
return new ApduServiceInfo(info, onHost, description, staticAidGroups,
|
return new ApduServiceInfo(info, onHost, description, staticAidGroups,
|
||||||
dynamicAidGroups, requiresUnlock, bannerResource, uid,
|
dynamicAidGroups, requiresUnlock, requiresScreenOn, bannerResource, uid,
|
||||||
settingsActivityName, offHostName, staticOffHostName);
|
settingsActivityName, offHostName, staticOffHostName);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -607,6 +642,8 @@ public final class ApduServiceInfo implements Parcelable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
pw.println(" Settings Activity: " + mSettingsActivityName);
|
pw.println(" Settings Activity: " + mSettingsActivityName);
|
||||||
|
pw.println(" Requires Device Unlock: " + mRequiresDeviceUnlock);
|
||||||
|
pw.println(" Requires Device ScreenOn: " + mRequiresDeviceScreenOn);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -3856,6 +3856,9 @@
|
|||||||
<!-- Component name of an activity that allows the user to modify
|
<!-- Component name of an activity that allows the user to modify
|
||||||
the settings for this service. -->
|
the settings for this service. -->
|
||||||
<attr name="settingsActivity"/>
|
<attr name="settingsActivity"/>
|
||||||
|
<!-- Whether the device must be screen on before routing data to this service.
|
||||||
|
The default is true.-->
|
||||||
|
<attr name="requireDeviceScreenOn" format="boolean"/>
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
|
|
||||||
<!-- Use <code>offhost-apdu-service</code> as the root tag of the XML resource that
|
<!-- Use <code>offhost-apdu-service</code> as the root tag of the XML resource that
|
||||||
@@ -3874,6 +3877,12 @@
|
|||||||
<attr name="settingsActivity"/>
|
<attr name="settingsActivity"/>
|
||||||
<!-- Secure Element which the AIDs should be routed to -->
|
<!-- Secure Element which the AIDs should be routed to -->
|
||||||
<attr name="secureElementName" format="string"/>
|
<attr name="secureElementName" format="string"/>
|
||||||
|
<!-- Whether the device must be unlocked before routing data to this service.
|
||||||
|
The default is false.-->
|
||||||
|
<attr name="requireDeviceUnlock"/>
|
||||||
|
<!-- Whether the device must be screen on before routing data to this service.
|
||||||
|
The default is false.-->
|
||||||
|
<attr name="requireDeviceScreenOn"/>
|
||||||
</declare-styleable>
|
</declare-styleable>
|
||||||
|
|
||||||
<!-- Specify one or more <code>aid-group</code> elements inside a
|
<!-- Specify one or more <code>aid-group</code> elements inside a
|
||||||
|
|||||||
@@ -3045,6 +3045,7 @@
|
|||||||
<public-group type="attr" first-id="0x01010617">
|
<public-group type="attr" first-id="0x01010617">
|
||||||
<public name="canPauseRecording" />
|
<public name="canPauseRecording" />
|
||||||
<!-- attribute definitions go here -->
|
<!-- attribute definitions go here -->
|
||||||
|
<public name="requireDeviceScreenOn" />
|
||||||
</public-group>
|
</public-group>
|
||||||
|
|
||||||
<public-group type="drawable" first-id="0x010800b5">
|
<public-group type="drawable" first-id="0x010800b5">
|
||||||
|
|||||||
Reference in New Issue
Block a user