Merge "Adding calling package name options fields"
diff --git a/textclassifier/api/current.txt b/textclassifier/api/current.txt
index 6dad352..95ff935 100644
--- a/textclassifier/api/current.txt
+++ b/textclassifier/api/current.txt
@@ -35,6 +35,7 @@
public static final class TextClassification.Options implements android.os.Parcelable {
ctor public TextClassification.Options();
method public int describeContents();
+ method public java.lang.String getCallingPackageName();
method public android.support.v4.os.LocaleListCompat getDefaultLocales();
method public java.util.Calendar getReferenceTime();
method public androidx.view.textclassifier.TextClassification.Options setDefaultLocales(android.support.v4.os.LocaleListCompat);
@@ -78,6 +79,7 @@
ctor public TextLinks.Options();
method public int describeContents();
method public int getApplyStrategy();
+ method public java.lang.String getCallingPackageName();
method public android.support.v4.os.LocaleListCompat getDefaultLocales();
method public androidx.view.textclassifier.TextClassifier.EntityConfig getEntityConfig();
method public androidx.view.textclassifier.TextLinks.SpanFactory getSpanFactory();
@@ -128,6 +130,7 @@
public static final class TextSelection.Options implements android.os.Parcelable {
ctor public TextSelection.Options();
method public int describeContents();
+ method public java.lang.String getCallingPackageName();
method public android.support.v4.os.LocaleListCompat getDefaultLocales();
method public androidx.view.textclassifier.TextSelection.Options setDefaultLocales(android.support.v4.os.LocaleListCompat);
method public void writeToParcel(android.os.Parcel, int);
diff --git a/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextClassificationTest.java b/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextClassificationTest.java
index 8ae65ac..8c8cb25 100644
--- a/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextClassificationTest.java
+++ b/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextClassificationTest.java
@@ -140,11 +140,13 @@
@Test
public void testParcelOptions() {
+ final String callingPackageName = "packageName";
Calendar referenceTime = Calendar.getInstance(TimeZone.getTimeZone("GMT"), Locale.US);
referenceTime.setTimeInMillis(946684800000L); // 2000-01-01 00:00:00
- TextClassification.Options reference = new TextClassification.Options();
- reference.setDefaultLocales(LocaleListCompat.forLanguageTags("en-US,de-DE"));
- reference.setReferenceTime(referenceTime);
+ TextClassification.Options reference = new TextClassification.Options()
+ .setDefaultLocales(LocaleListCompat.forLanguageTags("en-US,de-DE"))
+ .setReferenceTime(referenceTime)
+ .setCallingPackageName(callingPackageName);
// Parcel and unparcel.
final Parcel parcel = Parcel.obtain();
@@ -155,5 +157,6 @@
assertEquals("en-US,de-DE", result.getDefaultLocales().toLanguageTags());
assertEquals(referenceTime, result.getReferenceTime());
+ assertEquals(callingPackageName, result.getCallingPackageName());
}
}
diff --git a/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextLinksTest.java b/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextLinksTest.java
index dadc214..d42f2e7 100644
--- a/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextLinksTest.java
+++ b/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextLinksTest.java
@@ -129,11 +129,13 @@
TextClassifier.ENTITY_PRESET_NONE);
entityConfig.includeEntities("a", "b", "c");
entityConfig.excludeEntities("b");
- TextLinks.Options reference = new TextLinks.Options();
- reference.setDefaultLocales(LocaleListCompat.forLanguageTags("en-US,de-DE"));
- reference.setEntityConfig(entityConfig);
- reference.setApplyStrategy(TextLinks.APPLY_STRATEGY_REPLACE);
- reference.setSpanFactory(new CustomSpanFactory());
+ final String callingPackageName = "packageName";
+ TextLinks.Options reference = new TextLinks.Options()
+ .setDefaultLocales(LocaleListCompat.forLanguageTags("en-US,de-DE"))
+ .setEntityConfig(entityConfig)
+ .setApplyStrategy(TextLinks.APPLY_STRATEGY_REPLACE)
+ .setSpanFactory(new CustomSpanFactory())
+ .setCallingPackageName(callingPackageName);
final Parcel parcel = Parcel.obtain();
reference.writeToParcel(parcel, reference.describeContents());
@@ -144,6 +146,7 @@
assertEquals(Arrays.asList("a", "c"), result.getEntityConfig().getEntities(mClassifier));
assertEquals(TextLinks.APPLY_STRATEGY_REPLACE, result.getApplyStrategy());
assertEquals(null, result.getSpanFactory());
+ assertEquals(callingPackageName, result.getCallingPackageName());
}
@Test
diff --git a/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextSelectionTest.java b/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextSelectionTest.java
index 33a227b..d121ce6 100644
--- a/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextSelectionTest.java
+++ b/textclassifier/src/androidTest/java/androidx/view/textclassifier/TextSelectionTest.java
@@ -62,8 +62,10 @@
@Test
public void testParcelOptions() {
- TextSelection.Options reference = new TextSelection.Options();
- reference.setDefaultLocales(LocaleListCompat.forLanguageTags("en-US,de-DE"));
+ final String callingPackageName = "packageName";
+ TextSelection.Options reference = new TextSelection.Options()
+ .setDefaultLocales(LocaleListCompat.forLanguageTags("en-US,de-DE"))
+ .setCallingPackageName(callingPackageName);
// Parcel and unparcel.
final Parcel parcel = Parcel.obtain();
@@ -73,5 +75,6 @@
parcel);
assertEquals("en-US,de-DE", result.getDefaultLocales().toLanguageTags());
+ assertEquals(callingPackageName, result.getCallingPackageName());
}
}
diff --git a/textclassifier/src/main/java/androidx/view/textclassifier/TextClassification.java b/textclassifier/src/main/java/androidx/view/textclassifier/TextClassification.java
index 799618a..aa72a55 100644
--- a/textclassifier/src/main/java/androidx/view/textclassifier/TextClassification.java
+++ b/textclassifier/src/main/java/androidx/view/textclassifier/TextClassification.java
@@ -536,6 +536,7 @@
private @Nullable LocaleListCompat mDefaultLocales;
private @Nullable Calendar mReferenceTime;
+ private @Nullable String mCallingPackageName;
public Options() {}
@@ -560,6 +561,17 @@
}
/**
+ * @param packageName name of the package from which the call was made.
+ *
+ * @hide
+ */
+ @RestrictTo(RestrictTo.Scope.LIBRARY)
+ public Options setCallingPackageName(@Nullable String packageName) {
+ mCallingPackageName = packageName;
+ return this;
+ }
+
+ /**
* @return ordered list of locale preferences that can be used to disambiguate
* the provided text.
*/
@@ -577,6 +589,14 @@
return mReferenceTime;
}
+ /**
+ * @return name of the package from which the call was made.
+ */
+ @Nullable
+ public String getCallingPackageName() {
+ return mCallingPackageName;
+ }
+
@Override
public int describeContents() {
return 0;
@@ -592,6 +612,7 @@
if (mReferenceTime != null) {
dest.writeSerializable(mReferenceTime);
}
+ dest.writeString(mCallingPackageName);
}
public static final Parcelable.Creator<Options> CREATOR =
@@ -614,6 +635,7 @@
if (in.readInt() > 0) {
mReferenceTime = (Calendar) in.readSerializable();
}
+ mCallingPackageName = in.readString();
}
}
}
diff --git a/textclassifier/src/main/java/androidx/view/textclassifier/TextLinks.java b/textclassifier/src/main/java/androidx/view/textclassifier/TextLinks.java
index 79810f5..70096c3 100644
--- a/textclassifier/src/main/java/androidx/view/textclassifier/TextLinks.java
+++ b/textclassifier/src/main/java/androidx/view/textclassifier/TextLinks.java
@@ -285,6 +285,7 @@
private TextClassifier.EntityConfig mEntityConfig;
private @ApplyStrategy int mApplyStrategy;
private @Nullable SpanFactory mSpanFactory;
+ private @Nullable String mCallingPackageName;
public Options() {}
@@ -334,6 +335,17 @@
}
/**
+ * @param packageName name of the package from which the call was made.
+ *
+ * @hide
+ */
+ @RestrictTo(RestrictTo.Scope.LIBRARY)
+ public Options setCallingPackageName(@Nullable String packageName) {
+ mCallingPackageName = packageName;
+ return this;
+ }
+
+ /**
* @return ordered list of locale preferences that can be used to disambiguate
* the provided text.
*/
@@ -374,6 +386,14 @@
return mSpanFactory;
}
+ /**
+ * @return name of the package from which the call was made.
+ */
+ @Nullable
+ public String getCallingPackageName() {
+ return mCallingPackageName;
+ }
+
@Override
public int describeContents() {
return 0;
@@ -391,6 +411,7 @@
}
dest.writeInt(mApplyStrategy);
// mSpanFactory is not parcelable
+ dest.writeString(mCallingPackageName);
}
public static final Parcelable.Creator<Options> CREATOR =
@@ -415,6 +436,7 @@
}
mApplyStrategy = in.readInt();
// mSpanFactory is not parcelable
+ mCallingPackageName = in.readString();
}
}
diff --git a/textclassifier/src/main/java/androidx/view/textclassifier/TextSelection.java b/textclassifier/src/main/java/androidx/view/textclassifier/TextSelection.java
index dbc7ecf..5c54de8 100644
--- a/textclassifier/src/main/java/androidx/view/textclassifier/TextSelection.java
+++ b/textclassifier/src/main/java/androidx/view/textclassifier/TextSelection.java
@@ -22,6 +22,7 @@
import android.support.annotation.IntRange;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import android.support.annotation.RestrictTo;
import android.support.v4.os.LocaleListCompat;
import android.support.v4.util.ArrayMap;
import android.support.v4.util.Preconditions;
@@ -208,6 +209,7 @@
public static final class Options implements Parcelable {
private @Nullable LocaleListCompat mDefaultLocales;
+ private @Nullable String mCallingPackageName;
public Options() {}
@@ -222,6 +224,17 @@
}
/**
+ * @param packageName name of the package from which the call was made.
+ *
+ * @hide
+ */
+ @RestrictTo(RestrictTo.Scope.LIBRARY)
+ public Options setCallingPackageName(@Nullable String packageName) {
+ mCallingPackageName = packageName;
+ return this;
+ }
+
+ /**
* @return ordered list of locale preferences that can be used to disambiguate
* the provided text.
*/
@@ -230,6 +243,14 @@
return mDefaultLocales;
}
+ /**
+ * @return name of the package from which the call was made.
+ */
+ @Nullable
+ public String getCallingPackageName() {
+ return mCallingPackageName;
+ }
+
@Override
public int describeContents() {
return 0;
@@ -241,6 +262,7 @@
if (mDefaultLocales != null) {
dest.writeString(mDefaultLocales.toLanguageTags());
}
+ dest.writeString(mCallingPackageName);
}
public static final Parcelable.Creator<Options> CREATOR =
@@ -260,6 +282,7 @@
if (in.readInt() > 0) {
mDefaultLocales = LocaleListCompat.forLanguageTags(in.readString());
}
+ mCallingPackageName = in.readString();
}
}
}