Merge "Simplify IndexData builder"
This commit is contained in:
committed by
Android (Google) Code Review
commit
4169ac2fed
@@ -362,4 +362,4 @@ public class DatabaseIndexingManager {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -17,16 +17,10 @@
|
|||||||
|
|
||||||
package com.android.settings.search;
|
package com.android.settings.search;
|
||||||
|
|
||||||
import android.Manifest;
|
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ApplicationInfo;
|
|
||||||
import android.content.pm.PackageInfo;
|
|
||||||
import android.content.pm.PackageManager;
|
|
||||||
import android.content.pm.ResolveInfo;
|
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.text.TextUtils;
|
|
||||||
import android.util.ArrayMap;
|
import android.util.ArrayMap;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
|
|
||||||
@@ -37,10 +31,8 @@ import com.android.settings.core.PreferenceControllerMixin;
|
|||||||
import com.android.settingslib.core.AbstractPreferenceController;
|
import com.android.settingslib.core.AbstractPreferenceController;
|
||||||
|
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.text.Normalizer;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.regex.Pattern;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility class for {@like DatabaseIndexingManager} to handle the mapping between Payloads
|
* Utility class for {@like DatabaseIndexingManager} to handle the mapping between Payloads
|
||||||
@@ -53,15 +45,6 @@ public class DatabaseIndexingUtils {
|
|||||||
private static final String FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER =
|
private static final String FIELD_NAME_SEARCH_INDEX_DATA_PROVIDER =
|
||||||
"SEARCH_INDEX_DATA_PROVIDER";
|
"SEARCH_INDEX_DATA_PROVIDER";
|
||||||
|
|
||||||
private static final String NON_BREAKING_HYPHEN = "\u2011";
|
|
||||||
private static final String EMPTY = "";
|
|
||||||
private static final String LIST_DELIMITERS = "[,]\\s*";
|
|
||||||
private static final String HYPHEN = "-";
|
|
||||||
private static final String SPACE = " ";
|
|
||||||
|
|
||||||
private static final Pattern REMOVE_DIACRITICALS_PATTERN
|
|
||||||
= Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Builds intent into a subsetting.
|
* Builds intent into a subsetting.
|
||||||
*/
|
*/
|
||||||
@@ -173,19 +156,4 @@ public class DatabaseIndexingUtils {
|
|||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String normalizeHyphen(String input) {
|
|
||||||
return (input != null) ? input.replaceAll(NON_BREAKING_HYPHEN, HYPHEN) : EMPTY;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String normalizeString(String input) {
|
|
||||||
final String nohyphen = (input != null) ? input.replaceAll(HYPHEN, EMPTY) : EMPTY;
|
|
||||||
final String normalized = Normalizer.normalize(nohyphen, Normalizer.Form.NFD);
|
|
||||||
|
|
||||||
return REMOVE_DIACRITICALS_PATTERN.matcher(normalized).replaceAll("").toLowerCase();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static String normalizeKeywords(String input) {
|
|
||||||
return (input != null) ? input.replaceAll(LIST_DELIMITERS, SPACE) : EMPTY;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,9 @@ import com.android.settings.search.ResultPayload;
|
|||||||
import com.android.settings.search.ResultPayloadUtils;
|
import com.android.settings.search.ResultPayloadUtils;
|
||||||
import com.android.settings.search.SearchIndexableResources;
|
import com.android.settings.search.SearchIndexableResources;
|
||||||
|
|
||||||
|
import java.text.Normalizer;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Data class representing a single row in the Setting Search results database.
|
* Data class representing a single row in the Setting Search results database.
|
||||||
@@ -38,14 +40,11 @@ public class IndexData {
|
|||||||
public final String normalizedTitle;
|
public final String normalizedTitle;
|
||||||
public final String updatedSummaryOn;
|
public final String updatedSummaryOn;
|
||||||
public final String normalizedSummaryOn;
|
public final String normalizedSummaryOn;
|
||||||
public final String updatedSummaryOff;
|
|
||||||
public final String normalizedSummaryOff;
|
|
||||||
public final String entries;
|
public final String entries;
|
||||||
public final String className;
|
public final String className;
|
||||||
public final String childClassName;
|
public final String childClassName;
|
||||||
public final String screenTitle;
|
public final String screenTitle;
|
||||||
public final int iconResId;
|
public final int iconResId;
|
||||||
public final int rank;
|
|
||||||
public final String spaceDelimitedKeywords;
|
public final String spaceDelimitedKeywords;
|
||||||
public final String intentAction;
|
public final String intentAction;
|
||||||
public final String intentTargetPackage;
|
public final String intentTargetPackage;
|
||||||
@@ -56,21 +55,28 @@ public class IndexData {
|
|||||||
public final int payloadType;
|
public final int payloadType;
|
||||||
public final byte[] payload;
|
public final byte[] payload;
|
||||||
|
|
||||||
|
private static final String NON_BREAKING_HYPHEN = "\u2011";
|
||||||
|
private static final String EMPTY = "";
|
||||||
|
private static final String HYPHEN = "-";
|
||||||
|
private static final String SPACE = " ";
|
||||||
|
// Regex matching a comma, and any number of subsequent white spaces.
|
||||||
|
private static final String LIST_DELIMITERS = "[,]\\s*";
|
||||||
|
|
||||||
|
private static final Pattern REMOVE_DIACRITICALS_PATTERN
|
||||||
|
= Pattern.compile("\\p{InCombiningDiacriticalMarks}+");
|
||||||
|
|
||||||
private IndexData(Builder builder) {
|
private IndexData(Builder builder) {
|
||||||
locale = builder.mLocale;
|
locale = builder.mLocale;
|
||||||
updatedTitle = builder.mUpdatedTitle;
|
updatedTitle = normalizeHyphen(builder.mTitle);
|
||||||
normalizedTitle = builder.mNormalizedTitle;
|
normalizedTitle = normalizeString(builder.mTitle);
|
||||||
updatedSummaryOn = builder.mUpdatedSummaryOn;
|
updatedSummaryOn = normalizeHyphen(builder.mSummaryOn);
|
||||||
normalizedSummaryOn = builder.mNormalizedSummaryOn;
|
normalizedSummaryOn = normalizeString(builder.mSummaryOn);
|
||||||
updatedSummaryOff = builder.mUpdatedSummaryOff;
|
|
||||||
normalizedSummaryOff = builder.mNormalizedSummaryOff;
|
|
||||||
entries = builder.mEntries;
|
entries = builder.mEntries;
|
||||||
className = builder.mClassName;
|
className = builder.mClassName;
|
||||||
childClassName = builder.mChildClassName;
|
childClassName = builder.mChildClassName;
|
||||||
screenTitle = builder.mScreenTitle;
|
screenTitle = builder.mScreenTitle;
|
||||||
iconResId = builder.mIconResId;
|
iconResId = builder.mIconResId;
|
||||||
rank = builder.mRank;
|
spaceDelimitedKeywords = normalizeKeywords(builder.mKeywords);
|
||||||
spaceDelimitedKeywords = builder.mSpaceDelimitedKeywords;
|
|
||||||
intentAction = builder.mIntentAction;
|
intentAction = builder.mIntentAction;
|
||||||
intentTargetPackage = builder.mIntentTargetPackage;
|
intentTargetPackage = builder.mIntentTargetPackage;
|
||||||
intentTargetClass = builder.mIntentTargetClass;
|
intentTargetClass = builder.mIntentTargetClass;
|
||||||
@@ -93,21 +99,49 @@ public class IndexData {
|
|||||||
: key.hashCode();
|
: key.hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return new StringBuilder(updatedTitle)
|
||||||
|
.append(": ")
|
||||||
|
.append(updatedSummaryOn)
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* In the list of keywords, replace the comma and all subsequent whitespace with a single space.
|
||||||
|
*/
|
||||||
|
public static String normalizeKeywords(String input) {
|
||||||
|
return (input != null) ? input.replaceAll(LIST_DELIMITERS, SPACE) : EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return {@param input} where all non-standard hyphens are replaced by normal hyphens.
|
||||||
|
*/
|
||||||
|
public static String normalizeHyphen(String input) {
|
||||||
|
return (input != null) ? input.replaceAll(NON_BREAKING_HYPHEN, HYPHEN) : EMPTY;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return {@param input} with all hyphens removed, and all letters lower case.
|
||||||
|
*/
|
||||||
|
public static String normalizeString(String input) {
|
||||||
|
final String normalizedHypen = normalizeHyphen(input);
|
||||||
|
final String nohyphen = (input != null) ? normalizedHypen.replaceAll(HYPHEN, EMPTY) : EMPTY;
|
||||||
|
final String normalized = Normalizer.normalize(nohyphen, Normalizer.Form.NFD);
|
||||||
|
|
||||||
|
return REMOVE_DIACRITICALS_PATTERN.matcher(normalized).replaceAll("").toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
public static class Builder {
|
public static class Builder {
|
||||||
private String mLocale;
|
private String mLocale;
|
||||||
private String mUpdatedTitle;
|
private String mTitle;
|
||||||
private String mNormalizedTitle;
|
private String mSummaryOn;
|
||||||
private String mUpdatedSummaryOn;
|
|
||||||
private String mNormalizedSummaryOn;
|
|
||||||
private String mUpdatedSummaryOff;
|
|
||||||
private String mNormalizedSummaryOff;
|
|
||||||
private String mEntries;
|
private String mEntries;
|
||||||
private String mClassName;
|
private String mClassName;
|
||||||
private String mChildClassName;
|
private String mChildClassName;
|
||||||
private String mScreenTitle;
|
private String mScreenTitle;
|
||||||
private int mIconResId;
|
private int mIconResId;
|
||||||
private int mRank;
|
private String mKeywords;
|
||||||
private String mSpaceDelimitedKeywords;
|
|
||||||
private String mIntentAction;
|
private String mIntentAction;
|
||||||
private String mIntentTargetPackage;
|
private String mIntentTargetPackage;
|
||||||
private String mIntentTargetClass;
|
private String mIntentTargetClass;
|
||||||
@@ -123,33 +157,13 @@ public class IndexData {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setUpdatedTitle(String updatedTitle) {
|
public Builder setTitle(String title) {
|
||||||
mUpdatedTitle = updatedTitle;
|
mTitle = title;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setNormalizedTitle(String normalizedTitle) {
|
public Builder setSummaryOn(String summaryOn) {
|
||||||
mNormalizedTitle = normalizedTitle;
|
mSummaryOn = summaryOn;
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder setUpdatedSummaryOn(String updatedSummaryOn) {
|
|
||||||
mUpdatedSummaryOn = updatedSummaryOn;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder setNormalizedSummaryOn(String normalizedSummaryOn) {
|
|
||||||
mNormalizedSummaryOn = normalizedSummaryOn;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder setUpdatedSummaryOff(String updatedSummaryOff) {
|
|
||||||
mUpdatedSummaryOff = updatedSummaryOff;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder setNormalizedSummaryOff(String normalizedSummaryOff) {
|
|
||||||
this.mNormalizedSummaryOff = normalizedSummaryOff;
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -178,13 +192,8 @@ public class IndexData {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder setRank(int rank) {
|
public Builder setKeywords(String keywords) {
|
||||||
mRank = rank;
|
mKeywords = keywords;
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Builder setSpaceDelimitedKeywords(String spaceDelimitedKeywords) {
|
|
||||||
mSpaceDelimitedKeywords = spaceDelimitedKeywords;
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -260,8 +269,8 @@ public class IndexData {
|
|||||||
boolean isEmptyIntentAction = TextUtils.isEmpty(mIntentAction);
|
boolean isEmptyIntentAction = TextUtils.isEmpty(mIntentAction);
|
||||||
// No intent action is set, or the intent action is for a subsetting.
|
// No intent action is set, or the intent action is for a subsetting.
|
||||||
if (isEmptyIntentAction
|
if (isEmptyIntentAction
|
||||||
|| (!isEmptyIntentAction && TextUtils.equals(mIntentTargetPackage,
|
|| TextUtils.equals(mIntentTargetPackage,
|
||||||
SearchIndexableResources.SUBSETTING_TARGET_PACKAGE))) {
|
SearchIndexableResources.SUBSETTING_TARGET_PACKAGE)) {
|
||||||
// Action is null, we will launch it as a sub-setting
|
// Action is null, we will launch it as a sub-setting
|
||||||
intent = DatabaseIndexingUtils.buildSubsettingIntent(context, mClassName, mKey,
|
intent = DatabaseIndexingUtils.buildSubsettingIntent(context, mClassName, mKey,
|
||||||
mScreenTitle);
|
mScreenTitle);
|
||||||
|
|||||||
@@ -147,12 +147,14 @@ public class IndexDataConverter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
IndexData.Builder builder = new IndexData.Builder();
|
IndexData.Builder builder = new IndexData.Builder();
|
||||||
builder.setLocale(localeStr)
|
builder.setTitle(raw.title)
|
||||||
|
.setSummaryOn(raw.summaryOn)
|
||||||
|
.setLocale(localeStr)
|
||||||
.setEntries(raw.entries)
|
.setEntries(raw.entries)
|
||||||
|
.setKeywords(raw.keywords)
|
||||||
.setClassName(raw.className)
|
.setClassName(raw.className)
|
||||||
.setScreenTitle(raw.screenTitle)
|
.setScreenTitle(raw.screenTitle)
|
||||||
.setIconResId(raw.iconResId)
|
.setIconResId(raw.iconResId)
|
||||||
.setRank(raw.rank)
|
|
||||||
.setIntentAction(raw.intentAction)
|
.setIntentAction(raw.intentAction)
|
||||||
.setIntentTargetPackage(raw.intentTargetPackage)
|
.setIntentTargetPackage(raw.intentTargetPackage)
|
||||||
.setIntentTargetClass(raw.intentTargetClass)
|
.setIntentTargetClass(raw.intentTargetClass)
|
||||||
@@ -160,8 +162,7 @@ public class IndexDataConverter {
|
|||||||
.setKey(raw.key)
|
.setKey(raw.key)
|
||||||
.setUserId(raw.userId);
|
.setUserId(raw.userId);
|
||||||
|
|
||||||
updateOneRowWithFilteredData(builder, raw.title, raw.summaryOn, raw.summaryOff,
|
updateOneRow(builder.build(mContext));
|
||||||
raw.keywords);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
@@ -249,7 +250,6 @@ public class IndexDataConverter {
|
|||||||
ResultPayload payload;
|
ResultPayload payload;
|
||||||
boolean enabled;
|
boolean enabled;
|
||||||
final String fragmentName = sir.className;
|
final String fragmentName = sir.className;
|
||||||
final int rank = sir.rank;
|
|
||||||
final String intentAction = sir.intentAction;
|
final String intentAction = sir.intentAction;
|
||||||
final String intentTargetPackage = sir.intentTargetPackage;
|
final String intentTargetPackage = sir.intentTargetPackage;
|
||||||
final String intentTargetClass = sir.intentTargetClass;
|
final String intentTargetClass = sir.intentTargetClass;
|
||||||
@@ -271,11 +271,12 @@ public class IndexDataConverter {
|
|||||||
|
|
||||||
// TODO: Set payload type for header results
|
// TODO: Set payload type for header results
|
||||||
IndexData.Builder headerBuilder = new IndexData.Builder();
|
IndexData.Builder headerBuilder = new IndexData.Builder();
|
||||||
headerBuilder.setLocale(localeStr)
|
headerBuilder.setTitle(headerTitle)
|
||||||
.setEntries(null)
|
.setSummaryOn(headerSummary)
|
||||||
|
.setKeywords(headerKeywords)
|
||||||
|
.setLocale(localeStr)
|
||||||
.setClassName(fragmentName)
|
.setClassName(fragmentName)
|
||||||
.setScreenTitle(screenTitle)
|
.setScreenTitle(screenTitle)
|
||||||
.setRank(rank)
|
|
||||||
.setIntentAction(intentAction)
|
.setIntentAction(intentAction)
|
||||||
.setIntentTargetPackage(intentTargetPackage)
|
.setIntentTargetPackage(intentTargetPackage)
|
||||||
.setIntentTargetClass(intentTargetClass)
|
.setIntentTargetClass(intentTargetClass)
|
||||||
@@ -306,11 +307,12 @@ public class IndexDataConverter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
builder = new IndexData.Builder();
|
builder = new IndexData.Builder();
|
||||||
builder.setLocale(localeStr)
|
builder.setTitle(title)
|
||||||
|
.setLocale(localeStr)
|
||||||
|
.setKeywords(keywords)
|
||||||
.setClassName(fragmentName)
|
.setClassName(fragmentName)
|
||||||
.setScreenTitle(screenTitle)
|
.setScreenTitle(screenTitle)
|
||||||
.setIconResId(iconResId)
|
.setIconResId(iconResId)
|
||||||
.setRank(rank)
|
|
||||||
.setIntentAction(intentAction)
|
.setIntentAction(intentAction)
|
||||||
.setIntentTargetPackage(intentTargetPackage)
|
.setIntentTargetPackage(intentTargetPackage)
|
||||||
.setIntentTargetClass(intentTargetClass)
|
.setIntentTargetClass(intentTargetClass)
|
||||||
@@ -331,14 +333,17 @@ public class IndexDataConverter {
|
|||||||
payload = DatabaseIndexingUtils.getPayloadFromUriMap(controllerUriMap, key);
|
payload = DatabaseIndexingUtils.getPayloadFromUriMap(controllerUriMap, key);
|
||||||
childFragment = XmlParserUtils.getDataChildFragment(context, attrs);
|
childFragment = XmlParserUtils.getDataChildFragment(context, attrs);
|
||||||
|
|
||||||
builder.setEntries(entries)
|
builder.setSummaryOn(summary)
|
||||||
|
.setEntries(entries)
|
||||||
.setChildClassName(childFragment)
|
.setChildClassName(childFragment)
|
||||||
.setPayload(payload);
|
.setPayload(payload);
|
||||||
|
|
||||||
// Insert rows for the child nodes of PreferenceScreen
|
// Insert rows for the child nodes of PreferenceScreen
|
||||||
updateOneRowWithFilteredData(builder, title, summary,
|
updateOneRow(builder.build(mContext));
|
||||||
null /* summary off */, keywords);
|
|
||||||
} else {
|
} else {
|
||||||
|
// TODO (b/33577327) We removed summary off here. We should check if we can
|
||||||
|
// merge this 'else' section with the one above. Put a break point to
|
||||||
|
// investigate.
|
||||||
String summaryOn = XmlParserUtils.getDataSummaryOn(context, attrs);
|
String summaryOn = XmlParserUtils.getDataSummaryOn(context, attrs);
|
||||||
String summaryOff = XmlParserUtils.getDataSummaryOff(context, attrs);
|
String summaryOff = XmlParserUtils.getDataSummaryOff(context, attrs);
|
||||||
|
|
||||||
@@ -346,15 +351,15 @@ public class IndexDataConverter {
|
|||||||
summaryOn = XmlParserUtils.getDataSummary(context, attrs);
|
summaryOn = XmlParserUtils.getDataSummary(context, attrs);
|
||||||
}
|
}
|
||||||
|
|
||||||
updateOneRowWithFilteredData(builder, title, summaryOn, summaryOff,
|
builder.setSummaryOn(summaryOn);
|
||||||
keywords);
|
|
||||||
|
updateOneRow(builder.build(mContext));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// The xml header's title does not match the title of one of the child settings.
|
// The xml header's title does not match the title of one of the child settings.
|
||||||
if (isHeaderUnique) {
|
if (isHeaderUnique) {
|
||||||
updateOneRowWithFilteredData(headerBuilder, headerTitle, headerSummary,
|
updateOneRow(headerBuilder.build(mContext));
|
||||||
null /* summary off */, headerKeywords);
|
|
||||||
}
|
}
|
||||||
} catch (XmlPullParserException e) {
|
} catch (XmlPullParserException e) {
|
||||||
throw new RuntimeException("Error parsing PreferenceScreen", e);
|
throw new RuntimeException("Error parsing PreferenceScreen", e);
|
||||||
@@ -394,8 +399,11 @@ public class IndexDataConverter {
|
|||||||
boolean enabled = !nonIndexableKeys.contains(raw.key);
|
boolean enabled = !nonIndexableKeys.contains(raw.key);
|
||||||
|
|
||||||
IndexData.Builder builder = new IndexData.Builder();
|
IndexData.Builder builder = new IndexData.Builder();
|
||||||
builder.setLocale(localeStr)
|
builder.setTitle(raw.title)
|
||||||
|
.setSummaryOn(raw.summaryOn)
|
||||||
|
.setLocale(localeStr)
|
||||||
.setEntries(raw.entries)
|
.setEntries(raw.entries)
|
||||||
|
.setKeywords(raw.keywords)
|
||||||
.setClassName(className)
|
.setClassName(className)
|
||||||
.setScreenTitle(raw.screenTitle)
|
.setScreenTitle(raw.screenTitle)
|
||||||
.setIconResId(raw.iconResId)
|
.setIconResId(raw.iconResId)
|
||||||
@@ -406,8 +414,7 @@ public class IndexDataConverter {
|
|||||||
.setKey(raw.key)
|
.setKey(raw.key)
|
||||||
.setUserId(raw.userId);
|
.setUserId(raw.userId);
|
||||||
|
|
||||||
updateOneRowWithFilteredData(builder, raw.title, raw.summaryOn, raw.summaryOff,
|
updateOneRow(builder.build(mContext));
|
||||||
raw.keywords);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -438,32 +445,6 @@ public class IndexDataConverter {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@VisibleForTesting
|
|
||||||
void updateOneRowWithFilteredData(IndexData.Builder builder,
|
|
||||||
String title, String summaryOn, String summaryOff, String keywords) {
|
|
||||||
|
|
||||||
final String updatedTitle = DatabaseIndexingUtils.normalizeHyphen(title);
|
|
||||||
final String updatedSummaryOn = DatabaseIndexingUtils.normalizeHyphen(summaryOn);
|
|
||||||
final String updatedSummaryOff = DatabaseIndexingUtils.normalizeHyphen(summaryOff);
|
|
||||||
|
|
||||||
final String normalizedTitle = DatabaseIndexingUtils.normalizeString(updatedTitle);
|
|
||||||
final String normalizedSummaryOn = DatabaseIndexingUtils.normalizeString(updatedSummaryOn);
|
|
||||||
final String normalizedSummaryOff = DatabaseIndexingUtils
|
|
||||||
.normalizeString(updatedSummaryOff);
|
|
||||||
|
|
||||||
final String spaceDelimitedKeywords = DatabaseIndexingUtils.normalizeKeywords(keywords);
|
|
||||||
|
|
||||||
builder.setUpdatedTitle(updatedTitle)
|
|
||||||
.setUpdatedSummaryOn(updatedSummaryOn)
|
|
||||||
.setUpdatedSummaryOff(updatedSummaryOff)
|
|
||||||
.setNormalizedTitle(normalizedTitle)
|
|
||||||
.setNormalizedSummaryOn(normalizedSummaryOn)
|
|
||||||
.setNormalizedSummaryOff(normalizedSummaryOff)
|
|
||||||
.setSpaceDelimitedKeywords(spaceDelimitedKeywords);
|
|
||||||
|
|
||||||
updateOneRow(builder.build(mContext));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void updateOneRow(IndexData row) {
|
private void updateOneRow(IndexData row) {
|
||||||
if (TextUtils.isEmpty(row.updatedTitle)) {
|
if (TextUtils.isEmpty(row.updatedTitle)) {
|
||||||
return;
|
return;
|
||||||
@@ -472,13 +453,10 @@ public class IndexDataConverter {
|
|||||||
ContentValues values = new ContentValues();
|
ContentValues values = new ContentValues();
|
||||||
values.put(IndexDatabaseHelper.IndexColumns.DOCID, row.getDocId());
|
values.put(IndexDatabaseHelper.IndexColumns.DOCID, row.getDocId());
|
||||||
values.put(LOCALE, row.locale);
|
values.put(LOCALE, row.locale);
|
||||||
values.put(DATA_RANK, row.rank);
|
|
||||||
values.put(DATA_TITLE, row.updatedTitle);
|
values.put(DATA_TITLE, row.updatedTitle);
|
||||||
values.put(DATA_TITLE_NORMALIZED, row.normalizedTitle);
|
values.put(DATA_TITLE_NORMALIZED, row.normalizedTitle);
|
||||||
values.put(DATA_SUMMARY_ON, row.updatedSummaryOn);
|
values.put(DATA_SUMMARY_ON, row.updatedSummaryOn);
|
||||||
values.put(DATA_SUMMARY_ON_NORMALIZED, row.normalizedSummaryOn);
|
values.put(DATA_SUMMARY_ON_NORMALIZED, row.normalizedSummaryOn);
|
||||||
values.put(DATA_SUMMARY_OFF, row.updatedSummaryOff);
|
|
||||||
values.put(DATA_SUMMARY_OFF_NORMALIZED, row.normalizedSummaryOff);
|
|
||||||
values.put(DATA_ENTRIES, row.entries);
|
values.put(DATA_ENTRIES, row.entries);
|
||||||
values.put(DATA_KEYWORDS, row.spaceDelimitedKeywords);
|
values.put(DATA_KEYWORDS, row.spaceDelimitedKeywords);
|
||||||
values.put(CLASS_NAME, row.className);
|
values.put(CLASS_NAME, row.className);
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ import static org.mockito.Mockito.doNothing;
|
|||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.Mockito.doReturn;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
import static org.mockito.Mockito.spy;
|
import static org.mockito.Mockito.spy;
|
||||||
import static org.mockito.Mockito.times;
|
|
||||||
import static org.mockito.Mockito.verify;
|
import static org.mockito.Mockito.verify;
|
||||||
|
|
||||||
import android.content.ContentValues;
|
import android.content.ContentValues;
|
||||||
@@ -287,6 +286,7 @@ public class DatabaseIndexingManagerTest {
|
|||||||
@Test
|
@Test
|
||||||
public void testLocaleUpdated_afterFullIndexing_localeAdded() {
|
public void testLocaleUpdated_afterFullIndexing_localeAdded() {
|
||||||
mManager.performIndexing();
|
mManager.performIndexing();
|
||||||
|
|
||||||
assertThat(IndexDatabaseHelper.isLocaleAlreadyIndexed(mContext, localeStr)).isTrue();
|
assertThat(IndexDatabaseHelper.isLocaleAlreadyIndexed(mContext, localeStr)).isTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -302,8 +302,6 @@ public class DatabaseIndexingManagerTest {
|
|||||||
|
|
||||||
// Locale
|
// Locale
|
||||||
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
||||||
// Data Rank
|
|
||||||
assertThat(cursor.getInt(1)).isEqualTo(rank);
|
|
||||||
// Data Title
|
// Data Title
|
||||||
assertThat(cursor.getString(2)).isEqualTo(updatedTitle);
|
assertThat(cursor.getString(2)).isEqualTo(updatedTitle);
|
||||||
// Normalized Title
|
// Normalized Title
|
||||||
@@ -312,10 +310,6 @@ public class DatabaseIndexingManagerTest {
|
|||||||
assertThat(cursor.getString(4)).isEqualTo(updatedSummaryOn);
|
assertThat(cursor.getString(4)).isEqualTo(updatedSummaryOn);
|
||||||
// Summary On Normalized
|
// Summary On Normalized
|
||||||
assertThat(cursor.getString(5)).isEqualTo(normalizedSummaryOn);
|
assertThat(cursor.getString(5)).isEqualTo(normalizedSummaryOn);
|
||||||
// Summary Off
|
|
||||||
assertThat(cursor.getString(6)).isEqualTo(updatedSummaryOff);
|
|
||||||
// Summary off normalized
|
|
||||||
assertThat(cursor.getString(7)).isEqualTo(normalizedSummaryOff);
|
|
||||||
// Entries
|
// Entries
|
||||||
assertThat(cursor.getString(8)).isEqualTo(entries);
|
assertThat(cursor.getString(8)).isEqualTo(entries);
|
||||||
// Keywords
|
// Keywords
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ import android.database.sqlite.SQLiteDatabase;
|
|||||||
|
|
||||||
import com.android.settings.TestConfig;
|
import com.android.settings.TestConfig;
|
||||||
import com.android.settings.dashboard.SiteMapManager;
|
import com.android.settings.dashboard.SiteMapManager;
|
||||||
|
import com.android.settings.search.indexing.IndexData;
|
||||||
import com.android.settings.testutils.DatabaseTestUtils;
|
import com.android.settings.testutils.DatabaseTestUtils;
|
||||||
import com.android.settings.testutils.FakeFeatureFactory;
|
import com.android.settings.testutils.FakeFeatureFactory;
|
||||||
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
import com.android.settings.testutils.SettingsRobolectricTestRunner;
|
||||||
@@ -227,8 +228,8 @@ public class DatabaseResultLoaderTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void insertSpecialCase(String specialCase) {
|
private void insertSpecialCase(String specialCase) {
|
||||||
String normalized = DatabaseIndexingUtils.normalizeHyphen(specialCase);
|
String normalized = IndexData.normalizeHyphen(specialCase);
|
||||||
normalized = DatabaseIndexingUtils.normalizeString(normalized);
|
normalized = IndexData.normalizeString(normalized);
|
||||||
final ResultPayload payload = new ResultPayload(new Intent());
|
final ResultPayload payload = new ResultPayload(new Intent());
|
||||||
|
|
||||||
ContentValues values = new ContentValues();
|
ContentValues values = new ContentValues();
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ public class IndexDataConverterTest {
|
|||||||
|
|
||||||
private final String localeStr = "en_US";
|
private final String localeStr = "en_US";
|
||||||
|
|
||||||
private final int rank = 8;
|
|
||||||
private final String title = "title\u2011title";
|
private final String title = "title\u2011title";
|
||||||
private final String updatedTitle = "title-title";
|
private final String updatedTitle = "title-title";
|
||||||
private final String normalizedTitle = "titletitle";
|
private final String normalizedTitle = "titletitle";
|
||||||
@@ -128,8 +127,6 @@ public class IndexDataConverterTest {
|
|||||||
|
|
||||||
// Locale
|
// Locale
|
||||||
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
||||||
// Data Rank
|
|
||||||
assertThat(cursor.getInt(1)).isEqualTo(raw.rank);
|
|
||||||
// Data Title
|
// Data Title
|
||||||
assertThat(cursor.getString(2)).isEqualTo(updatedTitle);
|
assertThat(cursor.getString(2)).isEqualTo(updatedTitle);
|
||||||
// Normalized Title
|
// Normalized Title
|
||||||
@@ -138,10 +135,6 @@ public class IndexDataConverterTest {
|
|||||||
assertThat(cursor.getString(4)).isEqualTo(updatedSummaryOn);
|
assertThat(cursor.getString(4)).isEqualTo(updatedSummaryOn);
|
||||||
// Summary On Normalized
|
// Summary On Normalized
|
||||||
assertThat(cursor.getString(5)).isEqualTo(normalizedSummaryOn);
|
assertThat(cursor.getString(5)).isEqualTo(normalizedSummaryOn);
|
||||||
// Summary Off
|
|
||||||
assertThat(cursor.getString(6)).isEqualTo(updatedSummaryOff);
|
|
||||||
// Summary off normalized
|
|
||||||
assertThat(cursor.getString(7)).isEqualTo(normalizedSummaryOff);
|
|
||||||
// Entries
|
// Entries
|
||||||
assertThat(cursor.getString(8)).isEqualTo(raw.entries);
|
assertThat(cursor.getString(8)).isEqualTo(raw.entries);
|
||||||
// Keywords
|
// Keywords
|
||||||
@@ -225,8 +218,6 @@ public class IndexDataConverterTest {
|
|||||||
|
|
||||||
// Locale
|
// Locale
|
||||||
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
||||||
// Data Rank
|
|
||||||
assertThat(cursor.getInt(1)).isEqualTo(rank);
|
|
||||||
// Data Title
|
// Data Title
|
||||||
assertThat(cursor.getString(2)).isEqualTo("App info");
|
assertThat(cursor.getString(2)).isEqualTo("App info");
|
||||||
// Normalized Title
|
// Normalized Title
|
||||||
@@ -235,10 +226,6 @@ public class IndexDataConverterTest {
|
|||||||
assertThat(cursor.getString(4)).isEqualTo("Manage apps, set up quick launch shortcuts");
|
assertThat(cursor.getString(4)).isEqualTo("Manage apps, set up quick launch shortcuts");
|
||||||
// Summary On Normalized
|
// Summary On Normalized
|
||||||
assertThat(cursor.getString(5)).isEqualTo("manage apps, set up quick launch shortcuts");
|
assertThat(cursor.getString(5)).isEqualTo("manage apps, set up quick launch shortcuts");
|
||||||
// Summary Off - only on for checkbox preferences
|
|
||||||
assertThat(cursor.getString(6)).isEmpty();
|
|
||||||
// Summary off normalized - only on for checkbox preferences
|
|
||||||
assertThat(cursor.getString(7)).isEmpty();
|
|
||||||
// Entries - only on for list preferences
|
// Entries - only on for list preferences
|
||||||
assertThat(cursor.getString(8)).isNull();
|
assertThat(cursor.getString(8)).isNull();
|
||||||
// Keywords
|
// Keywords
|
||||||
@@ -285,8 +272,6 @@ public class IndexDataConverterTest {
|
|||||||
|
|
||||||
// Locale
|
// Locale
|
||||||
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
||||||
// Data Rank
|
|
||||||
assertThat(cursor.getInt(1)).isEqualTo(rank);
|
|
||||||
// Data Title
|
// Data Title
|
||||||
assertThat(cursor.getString(2)).isEqualTo(prefTitle);
|
assertThat(cursor.getString(2)).isEqualTo(prefTitle);
|
||||||
// Normalized Title
|
// Normalized Title
|
||||||
@@ -295,10 +280,6 @@ public class IndexDataConverterTest {
|
|||||||
assertThat(cursor.getString(4)).isEqualTo(prefSummary);
|
assertThat(cursor.getString(4)).isEqualTo(prefSummary);
|
||||||
// Summary On Normalized
|
// Summary On Normalized
|
||||||
assertThat(cursor.getString(5)).isEqualTo(prefSummary.toLowerCase());
|
assertThat(cursor.getString(5)).isEqualTo(prefSummary.toLowerCase());
|
||||||
// Summary Off - only on for checkbox preferences
|
|
||||||
assertThat(cursor.getString(6)).isEmpty();
|
|
||||||
// Summary off normalized - only on for checkbox preferences
|
|
||||||
assertThat(cursor.getString(7)).isEmpty();
|
|
||||||
// Entries - only on for list preferences
|
// Entries - only on for list preferences
|
||||||
assertThat(cursor.getString(8)).isNull();
|
assertThat(cursor.getString(8)).isNull();
|
||||||
// Keywords
|
// Keywords
|
||||||
@@ -343,8 +324,6 @@ public class IndexDataConverterTest {
|
|||||||
cursor.moveToPosition(0);
|
cursor.moveToPosition(0);
|
||||||
// Locale
|
// Locale
|
||||||
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
||||||
// Data Rank
|
|
||||||
assertThat(cursor.getInt(1)).isEqualTo(rank);
|
|
||||||
// Data Title
|
// Data Title
|
||||||
assertThat(cursor.getString(2)).isEqualTo("Advanced settings");
|
assertThat(cursor.getString(2)).isEqualTo("Advanced settings");
|
||||||
// Normalized Title
|
// Normalized Title
|
||||||
@@ -353,10 +332,6 @@ public class IndexDataConverterTest {
|
|||||||
assertThat(cursor.getString(4)).isEqualTo("Enable more settings options");
|
assertThat(cursor.getString(4)).isEqualTo("Enable more settings options");
|
||||||
// Summary On Normalized
|
// Summary On Normalized
|
||||||
assertThat(cursor.getString(5)).isEqualTo("enable more settings options");
|
assertThat(cursor.getString(5)).isEqualTo("enable more settings options");
|
||||||
// Summary Off
|
|
||||||
assertThat(cursor.getString(6)).isEqualTo("Enable more settings options");
|
|
||||||
// Summary Off
|
|
||||||
assertThat(cursor.getString(7)).isEqualTo("enable more settings options");
|
|
||||||
// Entries - only on for list preferences
|
// Entries - only on for list preferences
|
||||||
assertThat(cursor.getString(8)).isNull();
|
assertThat(cursor.getString(8)).isNull();
|
||||||
// Keywords
|
// Keywords
|
||||||
@@ -397,8 +372,6 @@ public class IndexDataConverterTest {
|
|||||||
cursor.moveToPosition(3);
|
cursor.moveToPosition(3);
|
||||||
// Locale
|
// Locale
|
||||||
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
||||||
// Data Rank
|
|
||||||
assertThat(cursor.getInt(1)).isEqualTo(rank);
|
|
||||||
// Data Title
|
// Data Title
|
||||||
assertThat(cursor.getString(2)).isEqualTo("Preferred install location");
|
assertThat(cursor.getString(2)).isEqualTo("Preferred install location");
|
||||||
// Normalized Title
|
// Normalized Title
|
||||||
@@ -409,10 +382,6 @@ public class IndexDataConverterTest {
|
|||||||
// Summary On Normalized
|
// Summary On Normalized
|
||||||
assertThat(cursor.getString(5)).isEqualTo(
|
assertThat(cursor.getString(5)).isEqualTo(
|
||||||
"change the preferred installation location for new apps");
|
"change the preferred installation location for new apps");
|
||||||
// Summary Off - only on for checkbox preferences
|
|
||||||
assertThat(cursor.getString(6)).isEmpty();
|
|
||||||
// Summary off normalized - only on for checkbox preferences
|
|
||||||
assertThat(cursor.getString(7)).isEmpty();
|
|
||||||
// Entries - only on for list preferences
|
// Entries - only on for list preferences
|
||||||
assertThat(cursor.getString(8)).isEqualTo("Internal device storage|Removable SD card|" +
|
assertThat(cursor.getString(8)).isEqualTo("Internal device storage|Removable SD card|" +
|
||||||
"Let the system decide|");
|
"Let the system decide|");
|
||||||
@@ -483,8 +452,6 @@ public class IndexDataConverterTest {
|
|||||||
|
|
||||||
// Locale
|
// Locale
|
||||||
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
||||||
// Data Rank
|
|
||||||
assertThat(cursor.getInt(1)).isEqualTo(0);
|
|
||||||
// Data Title
|
// Data Title
|
||||||
assertThat(cursor.getString(2)).isEqualTo("Display size");
|
assertThat(cursor.getString(2)).isEqualTo("Display size");
|
||||||
// Normalized Title
|
// Normalized Title
|
||||||
@@ -493,10 +460,6 @@ public class IndexDataConverterTest {
|
|||||||
assertThat(cursor.getString(4)).isEmpty();
|
assertThat(cursor.getString(4)).isEmpty();
|
||||||
// Summary On Normalized
|
// Summary On Normalized
|
||||||
assertThat(cursor.getString(5)).isEmpty();
|
assertThat(cursor.getString(5)).isEmpty();
|
||||||
// Summary Off - only on for checkbox preferences
|
|
||||||
assertThat(cursor.getString(6)).isEmpty();
|
|
||||||
// Summary off normalized - only on for checkbox preferences
|
|
||||||
assertThat(cursor.getString(7)).isEmpty();
|
|
||||||
// Entries - only on for list preferences
|
// Entries - only on for list preferences
|
||||||
assertThat(cursor.getString(8)).isNull();
|
assertThat(cursor.getString(8)).isNull();
|
||||||
// Keywords
|
// Keywords
|
||||||
@@ -550,8 +513,6 @@ public class IndexDataConverterTest {
|
|||||||
|
|
||||||
// Locale
|
// Locale
|
||||||
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
assertThat(cursor.getString(0)).isEqualTo(localeStr);
|
||||||
// Data Rank
|
|
||||||
assertThat(cursor.getInt(1)).isEqualTo(0);
|
|
||||||
// Data Title
|
// Data Title
|
||||||
assertThat(cursor.getString(2)).isEqualTo("Display size");
|
assertThat(cursor.getString(2)).isEqualTo("Display size");
|
||||||
// Normalized Title
|
// Normalized Title
|
||||||
@@ -560,10 +521,6 @@ public class IndexDataConverterTest {
|
|||||||
assertThat(cursor.getString(4)).isEmpty();
|
assertThat(cursor.getString(4)).isEmpty();
|
||||||
// Summary On Normalized
|
// Summary On Normalized
|
||||||
assertThat(cursor.getString(5)).isEmpty();
|
assertThat(cursor.getString(5)).isEmpty();
|
||||||
// Summary Off - only on for checkbox preferences
|
|
||||||
assertThat(cursor.getString(6)).isEmpty();
|
|
||||||
// Summary off normalized - only on for checkbox preferences
|
|
||||||
assertThat(cursor.getString(7)).isEmpty();
|
|
||||||
// Entries - only on for list preferences
|
// Entries - only on for list preferences
|
||||||
assertThat(cursor.getString(8)).isNull();
|
assertThat(cursor.getString(8)).isNull();
|
||||||
// Keywords
|
// Keywords
|
||||||
@@ -646,7 +603,6 @@ public class IndexDataConverterTest {
|
|||||||
private SearchIndexableRaw getFakeRaw(String localeStr) {
|
private SearchIndexableRaw getFakeRaw(String localeStr) {
|
||||||
SearchIndexableRaw data = new SearchIndexableRaw(mContext);
|
SearchIndexableRaw data = new SearchIndexableRaw(mContext);
|
||||||
data.locale = new Locale(localeStr);
|
data.locale = new Locale(localeStr);
|
||||||
data.rank = rank;
|
|
||||||
data.title = title;
|
data.title = title;
|
||||||
data.summaryOn = summaryOn;
|
data.summaryOn = summaryOn;
|
||||||
data.summaryOff = summaryOff;
|
data.summaryOff = summaryOff;
|
||||||
@@ -667,7 +623,6 @@ public class IndexDataConverterTest {
|
|||||||
|
|
||||||
private SearchIndexableResource getFakeResource(int xml) {
|
private SearchIndexableResource getFakeResource(int xml) {
|
||||||
SearchIndexableResource sir = new SearchIndexableResource(mContext);
|
SearchIndexableResource sir = new SearchIndexableResource(mContext);
|
||||||
sir.rank = rank;
|
|
||||||
sir.xmlResId = xml;
|
sir.xmlResId = xml;
|
||||||
sir.className = className;
|
sir.className = className;
|
||||||
sir.packageName = packageName;
|
sir.packageName = packageName;
|
||||||
|
|||||||
@@ -41,17 +41,16 @@ public class IndexDataTest {
|
|||||||
private IndexData.Builder mBuilder;
|
private IndexData.Builder mBuilder;
|
||||||
|
|
||||||
private static final String LOCALE = "locale";
|
private static final String LOCALE = "locale";
|
||||||
private static final String UPDATED_TITLE = "updated title";
|
private static final String TITLE = "updated-title";
|
||||||
private static final String NORMALIZED_TITLE = "normal title";
|
private static final String NORM_TITLE = "updatedtitle";
|
||||||
private static final String UPDATED_SUMMARY_ON = "updated summary on";
|
private static final String SUMMARY_ON = "updated-summary-on";
|
||||||
private static final String NORMALIZED_SUMMARY_ON = "normalized summary on";
|
private static final String NORM_SUMMARY_ON = "updatedsummaryon";
|
||||||
private static final String UPDATED_SUMMARY_OFF = "updated summary off";
|
private static final String SUMMARY_OFF = "updated-summary-off";
|
||||||
private static final String NORMALIZED_SUMMARY_OFF = "normalized summary off";
|
private static final String NORM_SUMMARY_OFF = "updatedsummaryoff";
|
||||||
private static final String ENTRIES = "entries";
|
private static final String ENTRIES = "entries";
|
||||||
private static final String CLASS_NAME = "class name";
|
private static final String CLASS_NAME = "class name";
|
||||||
private static final String SCREEN_TITLE = "screen title";
|
private static final String SCREEN_TITLE = "screen title";
|
||||||
private static final int ICON_RES_ID = 0xff;
|
private static final int ICON_RES_ID = 0xff;
|
||||||
private static final int RANK = 1;
|
|
||||||
private static final String SPACE_DELIMITED_KEYWORDS = "keywords";
|
private static final String SPACE_DELIMITED_KEYWORDS = "keywords";
|
||||||
private static final String INTENT_ACTION = "intent action";
|
private static final String INTENT_ACTION = "intent action";
|
||||||
private static final String INTENT_TARGET_PACKAGE = "target package";
|
private static final String INTENT_TARGET_PACKAGE = "target package";
|
||||||
@@ -79,17 +78,14 @@ public class IndexDataTest {
|
|||||||
IndexData row = generateRow();
|
IndexData row = generateRow();
|
||||||
|
|
||||||
assertThat(row.locale).isEqualTo(LOCALE);
|
assertThat(row.locale).isEqualTo(LOCALE);
|
||||||
assertThat(row.updatedTitle).isEqualTo(UPDATED_TITLE);
|
assertThat(row.updatedTitle).isEqualTo(TITLE);
|
||||||
assertThat(row.normalizedTitle).isEqualTo(NORMALIZED_TITLE);
|
assertThat(row.normalizedTitle).isEqualTo(NORM_TITLE);
|
||||||
assertThat(row.updatedSummaryOn).isEqualTo(UPDATED_SUMMARY_ON);
|
assertThat(row.updatedSummaryOn).isEqualTo(SUMMARY_ON);
|
||||||
assertThat(row.normalizedSummaryOn).isEqualTo(NORMALIZED_SUMMARY_ON);
|
assertThat(row.normalizedSummaryOn).isEqualTo(NORM_SUMMARY_ON);
|
||||||
assertThat(row.updatedSummaryOff).isEqualTo(UPDATED_SUMMARY_OFF);
|
|
||||||
assertThat(row.normalizedSummaryOff).isEqualTo(NORMALIZED_SUMMARY_OFF);
|
|
||||||
assertThat(row.entries).isEqualTo(ENTRIES);
|
assertThat(row.entries).isEqualTo(ENTRIES);
|
||||||
assertThat(row.className).isEqualTo(CLASS_NAME);
|
assertThat(row.className).isEqualTo(CLASS_NAME);
|
||||||
assertThat(row.screenTitle).isEqualTo(SCREEN_TITLE);
|
assertThat(row.screenTitle).isEqualTo(SCREEN_TITLE);
|
||||||
assertThat(row.iconResId).isEqualTo(ICON_RES_ID);
|
assertThat(row.iconResId).isEqualTo(ICON_RES_ID);
|
||||||
assertThat(row.rank).isEqualTo(RANK);
|
|
||||||
assertThat(row.spaceDelimitedKeywords).isEqualTo(SPACE_DELIMITED_KEYWORDS);
|
assertThat(row.spaceDelimitedKeywords).isEqualTo(SPACE_DELIMITED_KEYWORDS);
|
||||||
assertThat(row.intentAction).isEqualTo(INTENT_ACTION);
|
assertThat(row.intentAction).isEqualTo(INTENT_ACTION);
|
||||||
assertThat(row.intentTargetClass).isEqualTo(INTENT_TARGET_CLASS);
|
assertThat(row.intentTargetClass).isEqualTo(INTENT_TARGET_CLASS);
|
||||||
@@ -153,18 +149,13 @@ public class IndexDataTest {
|
|||||||
private IndexData.Builder createBuilder() {
|
private IndexData.Builder createBuilder() {
|
||||||
mBuilder = new IndexData.Builder();
|
mBuilder = new IndexData.Builder();
|
||||||
mBuilder.setLocale(LOCALE)
|
mBuilder.setLocale(LOCALE)
|
||||||
.setUpdatedTitle(UPDATED_TITLE)
|
.setTitle(TITLE)
|
||||||
.setNormalizedTitle(NORMALIZED_TITLE)
|
.setSummaryOn(SUMMARY_ON)
|
||||||
.setUpdatedSummaryOn(UPDATED_SUMMARY_ON)
|
|
||||||
.setNormalizedSummaryOn(NORMALIZED_SUMMARY_ON)
|
|
||||||
.setUpdatedSummaryOff(UPDATED_SUMMARY_OFF)
|
|
||||||
.setNormalizedSummaryOff(NORMALIZED_SUMMARY_OFF)
|
|
||||||
.setEntries(ENTRIES)
|
.setEntries(ENTRIES)
|
||||||
.setClassName(CLASS_NAME)
|
.setClassName(CLASS_NAME)
|
||||||
.setScreenTitle(SCREEN_TITLE)
|
.setScreenTitle(SCREEN_TITLE)
|
||||||
.setIconResId(ICON_RES_ID)
|
.setIconResId(ICON_RES_ID)
|
||||||
.setRank(RANK)
|
.setKeywords(SPACE_DELIMITED_KEYWORDS)
|
||||||
.setSpaceDelimitedKeywords(SPACE_DELIMITED_KEYWORDS)
|
|
||||||
.setIntentAction(INTENT_ACTION)
|
.setIntentAction(INTENT_ACTION)
|
||||||
.setIntentTargetPackage(INTENT_TARGET_PACKAGE)
|
.setIntentTargetPackage(INTENT_TARGET_PACKAGE)
|
||||||
.setIntentTargetClass(INTENT_TARGET_CLASS)
|
.setIntentTargetClass(INTENT_TARGET_CLASS)
|
||||||
|
|||||||
Reference in New Issue
Block a user