aboutsummaryrefslogtreecommitdiff
path: root/input
diff options
context:
space:
mode:
Diffstat (limited to 'input')
-rw-r--r--input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AuthActivity.java7
-rw-r--r--input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadata.java (renamed from input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillField.java)6
-rw-r--r--input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadataCollection.java (renamed from input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillFieldsCollection.java)28
-rw-r--r--input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillHelper.java19
-rw-r--r--input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/MyAutofillService.java11
-rw-r--r--input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/StructureParser.java24
-rw-r--r--input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/AutofillRepository.java8
-rw-r--r--input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/SharedPrefsAutofillRepository.java22
-rw-r--r--input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillField.java (renamed from input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/SavableAutofillData.java)6
-rw-r--r--input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillFieldCollection.java (renamed from input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/ClientFormData.java)49
-rw-r--r--input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadata.kt (renamed from input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillField.kt)4
-rw-r--r--input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadataCollection.kt (renamed from input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillFieldsCollection.kt)32
-rw-r--r--input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillHelper.kt27
-rw-r--r--input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/MyAutofillService.kt2
-rw-r--r--input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/StructureParser.kt18
-rw-r--r--input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/AutofillRepository.kt8
-rw-r--r--input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/SharedPrefsAutofillRepository.kt16
-rw-r--r--input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillField.kt (renamed from input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/SavableAutofillData.kt)2
-rw-r--r--input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillFieldCollection.kt (renamed from input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/ClientFormData.kt)21
19 files changed, 152 insertions, 158 deletions
diff --git a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AuthActivity.java b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AuthActivity.java
index cbf7e6dc..30591c0e 100644
--- a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AuthActivity.java
+++ b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AuthActivity.java
@@ -34,8 +34,7 @@ import android.widget.Toast;
import com.example.android.autofillframework.R;
import com.example.android.autofillframework.multidatasetservice.datasource.SharedPrefsAutofillRepository;
-import com.example.android.autofillframework.multidatasetservice.model.AutofillFieldsCollection;
-import com.example.android.autofillframework.multidatasetservice.model.ClientFormData;
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillFieldCollection;
import com.example.android.autofillframework.multidatasetservice.settings.MyPreferences;
import java.util.HashMap;
@@ -127,10 +126,10 @@ public class AuthActivity extends Activity {
AssistStructure structure = intent.getParcelableExtra(EXTRA_ASSIST_STRUCTURE);
StructureParser parser = new StructureParser(structure);
parser.parseForFill();
- AutofillFieldsCollection autofillFields = parser.getAutofillFields();
+ AutofillFieldMetadataCollection autofillFields = parser.getAutofillFields();
int saveTypes = autofillFields.getSaveType();
mReplyIntent = new Intent();
- HashMap<String, ClientFormData> clientFormDataMap =
+ HashMap<String, FilledAutofillFieldCollection> clientFormDataMap =
SharedPrefsAutofillRepository.getInstance(this).getClientFormData
(autofillFields.getFocusedHints(), autofillFields.getAllHints());
if (forResponse) {
diff --git a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillField.java b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadata.java
index 095c7611..b4cf8992 100644
--- a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillField.java
+++ b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadata.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.example.android.autofillframework.multidatasetservice.model;
+package com.example.android.autofillframework.multidatasetservice;
import android.app.assist.AssistStructure.ViewNode;
import android.service.autofill.SaveInfo;
@@ -25,7 +25,7 @@ import android.view.autofill.AutofillId;
* also contains a {@code mSaveType} flag that is calculated based on the {@link ViewNode}]'s
* autofill hints.
*/
-public class AutofillField {
+public class AutofillFieldMetadata {
private int mSaveType = 0;
private String[] mAutofillHints;
private AutofillId mAutofillId;
@@ -33,7 +33,7 @@ public class AutofillField {
private CharSequence[] mAutofillOptions;
private boolean mFocused;
- public AutofillField(ViewNode view) {
+ public AutofillFieldMetadata(ViewNode view) {
mAutofillId = view.getAutofillId();
mAutofillType = view.getAutofillType();
mAutofillOptions = view.getAutofillOptions();
diff --git a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillFieldsCollection.java b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadataCollection.java
index ace69870..f0a9e346 100644
--- a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillFieldsCollection.java
+++ b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadataCollection.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.example.android.autofillframework.multidatasetservice.model;
+package com.example.android.autofillframework.multidatasetservice;
import android.view.autofill.AutofillId;
@@ -23,32 +23,32 @@ import java.util.HashMap;
import java.util.List;
/**
- * Data structure that stores a collection of {@code AutofillField}s. Contains all of the client's
- * {@code View} hierarchy autofill-relevant metadata.
+ * Data structure that stores a collection of {@code AutofillFieldMetadata}s. Contains all of the
+ * client's {@code View} hierarchy autofill-relevant metadata.
*/
-public final class AutofillFieldsCollection {
+public final class AutofillFieldMetadataCollection {
private final List<AutofillId> mAutofillIds = new ArrayList<>();
- private final HashMap<String, List<AutofillField>> mAutofillHintsToFieldsMap = new HashMap<>();
+ private final HashMap<String, List<AutofillFieldMetadata>> mAutofillHintsToFieldsMap = new HashMap<>();
private final List<String> mAllAutofillHints = new ArrayList<>();
private final List<String> mFocusedAutofillHints = new ArrayList<>();
private int mSize = 0;
private int mSaveType = 0;
- public void add(AutofillField autofillField) {
- mSaveType |= autofillField.getSaveType();
+ public void add(AutofillFieldMetadata autofillFieldMetadata) {
+ mSaveType |= autofillFieldMetadata.getSaveType();
mSize++;
- mAutofillIds.add(autofillField.getId());
- List<String> hintsList = Arrays.asList(autofillField.getHints());
+ mAutofillIds.add(autofillFieldMetadata.getId());
+ List<String> hintsList = Arrays.asList(autofillFieldMetadata.getHints());
mAllAutofillHints.addAll(hintsList);
- if (autofillField.isFocused()) {
+ if (autofillFieldMetadata.isFocused()) {
mFocusedAutofillHints.addAll(hintsList);
}
- for (String hint : autofillField.getHints()) {
+ for (String hint : autofillFieldMetadata.getHints()) {
if (mAutofillHintsToFieldsMap.get(hint) == null) {
- mAutofillHintsToFieldsMap.put(hint, new ArrayList<AutofillField>());
+ mAutofillHintsToFieldsMap.put(hint, new ArrayList<AutofillFieldMetadata>());
}
- mAutofillHintsToFieldsMap.get(hint).add(autofillField);
+ mAutofillHintsToFieldsMap.get(hint).add(autofillFieldMetadata);
}
}
@@ -60,7 +60,7 @@ public final class AutofillFieldsCollection {
return mAutofillIds.toArray(new AutofillId[mSize]);
}
- public List<AutofillField> getFieldsForHint(String hint) {
+ public List<AutofillFieldMetadata> getFieldsForHint(String hint) {
return mAutofillHintsToFieldsMap.get(hint);
}
diff --git a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillHelper.java b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillHelper.java
index f5915179..6ba758b2 100644
--- a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillHelper.java
+++ b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillHelper.java
@@ -25,8 +25,7 @@ import android.view.autofill.AutofillId;
import android.widget.RemoteViews;
import com.example.android.autofillframework.R;
-import com.example.android.autofillframework.multidatasetservice.model.AutofillFieldsCollection;
-import com.example.android.autofillframework.multidatasetservice.model.ClientFormData;
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillFieldCollection;
import java.util.HashMap;
import java.util.Set;
@@ -43,8 +42,8 @@ public final class AutofillHelper {
* client View.
*/
public static Dataset newDataset(Context context,
- AutofillFieldsCollection autofillFields, ClientFormData clientFormData, boolean datasetAuth) {
- String datasetName = clientFormData.getDatasetName();
+ AutofillFieldMetadataCollection autofillFields, FilledAutofillFieldCollection filledAutofillFieldCollection, boolean datasetAuth) {
+ String datasetName = filledAutofillFieldCollection.getDatasetName();
if (datasetName != null) {
Dataset.Builder datasetBuilder = new Dataset.Builder
(newRemoteViews(context.getPackageName(), datasetName));
@@ -52,7 +51,7 @@ public final class AutofillHelper {
IntentSender sender = AuthActivity.getAuthIntentSenderForDataset(context, datasetName);
datasetBuilder.setAuthentication(sender);
}
- boolean setValueAtLeastOnce = clientFormData.applyToFields(autofillFields, datasetBuilder);
+ boolean setValueAtLeastOnce = filledAutofillFieldCollection.applyToFields(autofillFields, datasetBuilder);
if (setValueAtLeastOnce) {
return datasetBuilder.build();
}
@@ -71,15 +70,15 @@ public final class AutofillHelper {
* be sent back to the client View.
*/
public static FillResponse newResponse(Context context,
- boolean datasetAuth, AutofillFieldsCollection autofillFields,
- HashMap<String, ClientFormData> clientFormDataMap) {
+ boolean datasetAuth, AutofillFieldMetadataCollection autofillFields,
+ HashMap<String, FilledAutofillFieldCollection> clientFormDataMap) {
FillResponse.Builder responseBuilder = new FillResponse.Builder();
if (clientFormDataMap != null) {
Set<String> datasetNames = clientFormDataMap.keySet();
for (String datasetName : datasetNames) {
- ClientFormData clientFormData = clientFormDataMap.get(datasetName);
- if (clientFormData != null) {
- Dataset dataset = newDataset(context, autofillFields, clientFormData, datasetAuth);
+ FilledAutofillFieldCollection filledAutofillFieldCollection = clientFormDataMap.get(datasetName);
+ if (filledAutofillFieldCollection != null) {
+ Dataset dataset = newDataset(context, autofillFields, filledAutofillFieldCollection, datasetAuth);
if (dataset != null) {
responseBuilder.addDataset(dataset);
}
diff --git a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/MyAutofillService.java b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/MyAutofillService.java
index 5e0b0233..494a8bf1 100644
--- a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/MyAutofillService.java
+++ b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/MyAutofillService.java
@@ -31,8 +31,7 @@ import android.widget.RemoteViews;
import com.example.android.autofillframework.R;
import com.example.android.autofillframework.multidatasetservice.datasource.SharedPrefsAutofillRepository;
-import com.example.android.autofillframework.multidatasetservice.model.AutofillFieldsCollection;
-import com.example.android.autofillframework.multidatasetservice.model.ClientFormData;
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillFieldCollection;
import com.example.android.autofillframework.multidatasetservice.settings.MyPreferences;
import java.util.HashMap;
@@ -67,7 +66,7 @@ public class MyAutofillService extends AutofillService {
// Parse AutoFill data in Activity
StructureParser parser = new StructureParser(structure);
parser.parseForFill();
- AutofillFieldsCollection autofillFields = parser.getAutofillFields();
+ AutofillFieldMetadataCollection autofillFields = parser.getAutofillFields();
FillResponse.Builder responseBuilder = new FillResponse.Builder();
// Check user's settings for authenticating Responses and Datasets.
boolean responseAuth = MyPreferences.getInstance(this).isResponseAuth();
@@ -82,7 +81,7 @@ public class MyAutofillService extends AutofillService {
callback.onSuccess(responseBuilder.build());
} else {
boolean datasetAuth = MyPreferences.getInstance(this).isDatasetAuth();
- HashMap<String, ClientFormData> clientFormDataMap =
+ HashMap<String, FilledAutofillFieldCollection> clientFormDataMap =
SharedPrefsAutofillRepository.getInstance(this).getClientFormData
(autofillFields.getFocusedHints(), autofillFields.getAllHints());
FillResponse response = AutofillHelper.newResponse
@@ -99,8 +98,8 @@ public class MyAutofillService extends AutofillService {
Log.d(TAG, "onSaveRequest(): data=" + bundleToString(data));
StructureParser parser = new StructureParser(structure);
parser.parseForSave();
- ClientFormData clientFormData = parser.getClientFormData();
- SharedPrefsAutofillRepository.getInstance(this).saveClientFormData(clientFormData);
+ FilledAutofillFieldCollection filledAutofillFieldCollection = parser.getClientFormData();
+ SharedPrefsAutofillRepository.getInstance(this).saveClientFormData(filledAutofillFieldCollection);
}
@Override
diff --git a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/StructureParser.java b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/StructureParser.java
index 020a4eec..e2908819 100644
--- a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/StructureParser.java
+++ b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/StructureParser.java
@@ -20,10 +20,8 @@ import android.app.assist.AssistStructure.ViewNode;
import android.app.assist.AssistStructure.WindowNode;
import android.util.Log;
-import com.example.android.autofillframework.multidatasetservice.model.AutofillField;
-import com.example.android.autofillframework.multidatasetservice.model.AutofillFieldsCollection;
-import com.example.android.autofillframework.multidatasetservice.model.ClientFormData;
-import com.example.android.autofillframework.multidatasetservice.model.SavableAutofillData;
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillFieldCollection;
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillField;
import static com.example.android.autofillframework.CommonUtil.TAG;
@@ -33,9 +31,9 @@ import static com.example.android.autofillframework.CommonUtil.TAG;
* parses the hierarchy and collects autofill metadata from {@link ViewNode}s along the way.
*/
final class StructureParser {
- private final AutofillFieldsCollection mAutofillFields = new AutofillFieldsCollection();
+ private final AutofillFieldMetadataCollection mAutofillFields = new AutofillFieldMetadataCollection();
private final AssistStructure mStructure;
- private ClientFormData mClientFormData;
+ private FilledAutofillFieldCollection mFilledAutofillFieldCollection;
StructureParser(AssistStructure structure) {
mStructure = structure;
@@ -56,7 +54,7 @@ final class StructureParser {
private void parse(boolean forFill) {
Log.d(TAG, "Parsing structure for " + mStructure.getActivityComponent());
int nodes = mStructure.getWindowNodeCount();
- mClientFormData = new ClientFormData();
+ mFilledAutofillFieldCollection = new FilledAutofillFieldCollection();
for (int i = 0; i < nodes; i++) {
WindowNode node = mStructure.getWindowNodeAt(i);
ViewNode view = node.getRootViewNode();
@@ -68,10 +66,10 @@ final class StructureParser {
if (viewNode.getAutofillHints() != null && viewNode.getAutofillHints().length > 0) {
//TODO check to make sure hints are supported by service.
if (forFill) {
- mAutofillFields.add(new AutofillField(viewNode));
+ mAutofillFields.add(new AutofillFieldMetadata(viewNode));
} else {
- mClientFormData.setAutofillValuesForHints
- (viewNode.getAutofillHints(), new SavableAutofillData(viewNode));
+ mFilledAutofillFieldCollection.setAutofillValuesForHints
+ (viewNode.getAutofillHints(), new FilledAutofillField(viewNode));
}
}
int childrenSize = viewNode.getChildCount();
@@ -82,11 +80,11 @@ final class StructureParser {
}
}
- public AutofillFieldsCollection getAutofillFields() {
+ public AutofillFieldMetadataCollection getAutofillFields() {
return mAutofillFields;
}
- public ClientFormData getClientFormData() {
- return mClientFormData;
+ public FilledAutofillFieldCollection getClientFormData() {
+ return mFilledAutofillFieldCollection;
}
}
diff --git a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/AutofillRepository.java b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/AutofillRepository.java
index 408b0c58..2296feb3 100644
--- a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/AutofillRepository.java
+++ b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/AutofillRepository.java
@@ -15,7 +15,7 @@
*/
package com.example.android.autofillframework.multidatasetservice.datasource;
-import com.example.android.autofillframework.multidatasetservice.model.ClientFormData;
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillFieldCollection;
import java.util.HashMap;
import java.util.List;
@@ -23,16 +23,16 @@ import java.util.List;
public interface AutofillRepository {
/**
- * Gets saved ClientFormData that contains some objects that can autofill fields with these
+ * Gets saved FilledAutofillFieldCollection that contains some objects that can autofill fields with these
* {@code autofillHints}.
*/
- HashMap<String, ClientFormData> getClientFormData(List<String> focusedAutofillHints,
+ HashMap<String, FilledAutofillFieldCollection> getClientFormData(List<String> focusedAutofillHints,
List<String> allAutofillHints);
/**
* Saves LoginCredential under this datasetName.
*/
- void saveClientFormData(ClientFormData clientFormData);
+ void saveClientFormData(FilledAutofillFieldCollection filledAutofillFieldCollection);
/**
* Clears all data.
diff --git a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/SharedPrefsAutofillRepository.java b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/SharedPrefsAutofillRepository.java
index fee39691..31f92000 100644
--- a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/SharedPrefsAutofillRepository.java
+++ b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/SharedPrefsAutofillRepository.java
@@ -19,7 +19,7 @@ import android.content.Context;
import android.content.SharedPreferences;
import android.util.ArraySet;
-import com.example.android.autofillframework.multidatasetservice.model.ClientFormData;
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillFieldCollection;
import com.google.gson.Gson;
import java.util.HashMap;
@@ -53,23 +53,23 @@ public class SharedPrefsAutofillRepository implements AutofillRepository {
}
@Override
- public HashMap<String, ClientFormData> getClientFormData(List<String> focusedAutofillHints,
+ public HashMap<String, FilledAutofillFieldCollection> getClientFormData(List<String> focusedAutofillHints,
List<String> allAutofillHints) {
boolean hasDataForFocusedAutofillHints = false;
- HashMap<String, ClientFormData> clientFormDataMap = new HashMap<>();
+ HashMap<String, FilledAutofillFieldCollection> clientFormDataMap = new HashMap<>();
Set<String> clientFormDataStringSet = getAllAutofillDataStringSet();
for (String clientFormDataString : clientFormDataStringSet) {
- ClientFormData clientFormData = new Gson().fromJson(clientFormDataString, ClientFormData.class);
- if (clientFormData != null) {
- if (clientFormData.helpsWithHints(focusedAutofillHints)) {
+ FilledAutofillFieldCollection filledAutofillFieldCollection = new Gson().fromJson(clientFormDataString, FilledAutofillFieldCollection.class);
+ if (filledAutofillFieldCollection != null) {
+ if (filledAutofillFieldCollection.helpsWithHints(focusedAutofillHints)) {
// Saved data has data relevant to at least 1 of the hints associated with the
// View in focus.
hasDataForFocusedAutofillHints = true;
}
- if (clientFormData.helpsWithHints(allAutofillHints)) {
+ if (filledAutofillFieldCollection.helpsWithHints(allAutofillHints)) {
// Saved data has data relevant to at least 1 of these hints associated with any
// of the Views in the hierarchy.
- clientFormDataMap.put(clientFormData.getDatasetName(), clientFormData);
+ clientFormDataMap.put(filledAutofillFieldCollection.getDatasetName(), filledAutofillFieldCollection);
}
}
}
@@ -81,11 +81,11 @@ public class SharedPrefsAutofillRepository implements AutofillRepository {
}
@Override
- public void saveClientFormData(ClientFormData clientFormData) {
+ public void saveClientFormData(FilledAutofillFieldCollection filledAutofillFieldCollection) {
String datasetName = "dataset-" + getDatasetNumber();
- clientFormData.setDatasetName(datasetName);
+ filledAutofillFieldCollection.setDatasetName(datasetName);
Set<String> allAutofillData = getAllAutofillDataStringSet();
- allAutofillData.add(new Gson().toJson(clientFormData));
+ allAutofillData.add(new Gson().toJson(filledAutofillFieldCollection));
saveAllAutofillDataStringSet(allAutofillData);
incrementDatasetNumber();
}
diff --git a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/SavableAutofillData.java b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillField.java
index 0286ffdd..3ca61d89 100644
--- a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/SavableAutofillData.java
+++ b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillField.java
@@ -21,12 +21,12 @@ import android.view.autofill.AutofillValue;
/**
* JSON serializable data class containing the same data as an {@link AutofillValue}.
*/
-public class SavableAutofillData {
+public class FilledAutofillField {
private String mTextValue = null;
private Long mDateValue = null;
private Boolean mToggleValue = null;
- public SavableAutofillData(AssistStructure.ViewNode viewNode) {
+ public FilledAutofillField(AssistStructure.ViewNode viewNode) {
AutofillValue autofillValue = viewNode.getAutofillValue();
if (autofillValue != null) {
if (autofillValue.isList()) {
@@ -66,7 +66,7 @@ public class SavableAutofillData {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
- SavableAutofillData that = (SavableAutofillData) o;
+ FilledAutofillField that = (FilledAutofillField) o;
if (mTextValue != null ? !mTextValue.equals(that.mTextValue) : that.mTextValue != null)
return false;
diff --git a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/ClientFormData.java b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillFieldCollection.java
index b01c06b4..a7ff4992 100644
--- a/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/ClientFormData.java
+++ b/input/autofill/AutofillFramework/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillFieldCollection.java
@@ -22,24 +22,27 @@ import android.view.View;
import android.view.autofill.AutofillId;
import android.view.autofill.AutofillValue;
+import com.example.android.autofillframework.multidatasetservice.AutofillFieldMetadata;
+import com.example.android.autofillframework.multidatasetservice.AutofillFieldMetadataCollection;
+
import java.util.HashMap;
import java.util.List;
import static com.example.android.autofillframework.CommonUtil.TAG;
/**
- * ClientFormData is the model that holds all of the data on a client app's page, plus the dataset
- * name associated with it.
+ * FilledAutofillFieldCollection is the model that holds all of the data on a client app's page,
+ * plus the dataset name associated with it.
*/
-public final class ClientFormData {
- private final HashMap<String, SavableAutofillData> mHintMap;
+public final class FilledAutofillFieldCollection {
+ private final HashMap<String, FilledAutofillField> mHintMap;
private String mDatasetName;
- public ClientFormData() {
- this(null, new HashMap<String, SavableAutofillData>());
+ public FilledAutofillFieldCollection() {
+ this(null, new HashMap<String, FilledAutofillField>());
}
- public ClientFormData(String datasetName, HashMap<String, SavableAutofillData> hintMap) {
+ public FilledAutofillFieldCollection(String datasetName, HashMap<String, FilledAutofillField> hintMap) {
mHintMap = hintMap;
mDatasetName = datasetName;
}
@@ -61,7 +64,7 @@ public final class ClientFormData {
/**
* Sets values for a list of hints.
*/
- public void setAutofillValuesForHints(@NonNull String[] autofillHints, @NonNull SavableAutofillData autofillValue) {
+ public void setAutofillValuesForHints(@NonNull String[] autofillHints, @NonNull FilledAutofillField autofillValue) {
for (int i = 0; i < autofillHints.length; i++) {
mHintMap.put(autofillHints[i], autofillValue);
}
@@ -69,50 +72,50 @@ public final class ClientFormData {
/**
* Populates a {@link Dataset.Builder} with appropriate values for each {@link AutofillId}
- * in a {@code AutofillFieldsCollection}.
+ * in a {@code AutofillFieldMetadataCollection}.
*/
- public boolean applyToFields(AutofillFieldsCollection autofillFieldsCollection,
+ public boolean applyToFields(AutofillFieldMetadataCollection autofillFieldMetadataCollection,
Dataset.Builder datasetBuilder) {
boolean setValueAtLeastOnce = false;
- List<String> allHints = autofillFieldsCollection.getAllHints();
+ List<String> allHints = autofillFieldMetadataCollection.getAllHints();
for (int hintIndex = 0; hintIndex < allHints.size(); hintIndex++) {
String hint = allHints.get(hintIndex);
- List<AutofillField> autofillFields = autofillFieldsCollection.getFieldsForHint(hint);
- if (autofillFields == null) {
+ List<AutofillFieldMetadata> fillableAutofillFields = autofillFieldMetadataCollection.getFieldsForHint(hint);
+ if (fillableAutofillFields == null) {
continue;
}
- for (int autofillFieldIndex = 0; autofillFieldIndex < autofillFields.size(); autofillFieldIndex++) {
- SavableAutofillData savableAutofillData = mHintMap.get(hint);
- if (savableAutofillData == null) {
+ for (int autofillFieldIndex = 0; autofillFieldIndex < fillableAutofillFields.size(); autofillFieldIndex++) {
+ FilledAutofillField filledAutofillField = mHintMap.get(hint);
+ if (filledAutofillField == null) {
continue;
}
- AutofillField autofillField = autofillFields.get(autofillFieldIndex);
- AutofillId autofillId = autofillField.getId();
- int autofillType = autofillField.getAutofillType();
+ AutofillFieldMetadata autofillFieldMetadata = fillableAutofillFields.get(autofillFieldIndex);
+ AutofillId autofillId = autofillFieldMetadata.getId();
+ int autofillType = autofillFieldMetadata.getAutofillType();
switch (autofillType) {
case View.AUTOFILL_TYPE_LIST:
- int listValue = autofillField.getAutofillOptionIndex(savableAutofillData.getTextValue());
+ int listValue = autofillFieldMetadata.getAutofillOptionIndex(filledAutofillField.getTextValue());
if (listValue != -1) {
datasetBuilder.setValue(autofillId, AutofillValue.forList(listValue));
setValueAtLeastOnce = true;
}
break;
case View.AUTOFILL_TYPE_DATE:
- Long dateValue = savableAutofillData.getDateValue();
+ Long dateValue = filledAutofillField.getDateValue();
if (dateValue != null) {
datasetBuilder.setValue(autofillId, AutofillValue.forDate(dateValue));
setValueAtLeastOnce = true;
}
break;
case View.AUTOFILL_TYPE_TEXT:
- String textValue = savableAutofillData.getTextValue();
+ String textValue = filledAutofillField.getTextValue();
if (textValue != null) {
datasetBuilder.setValue(autofillId, AutofillValue.forText(textValue));
setValueAtLeastOnce = true;
}
break;
case View.AUTOFILL_TYPE_TOGGLE:
- Boolean toggleValue = savableAutofillData.getToggleValue();
+ Boolean toggleValue = filledAutofillField.getToggleValue();
if (toggleValue != null) {
datasetBuilder.setValue(autofillId, AutofillValue.forToggle(toggleValue));
setValueAtLeastOnce = true;
diff --git a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillField.kt b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadata.kt
index 474454a3..47539dfd 100644
--- a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillField.kt
+++ b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadata.kt
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.example.android.autofillframework.multidatasetservice.model
+package com.example.android.autofillframework.multidatasetservice
import android.app.assist.AssistStructure.ViewNode;
import android.service.autofill.SaveInfo
@@ -24,7 +24,7 @@ import android.view.autofill.AutofillId
* A stripped down version of a [ViewNode] that contains only autofill-relevant metadata. It also
* contains a `saveType` flag that is calculated based on the [ViewNode]'s autofill hints.
*/
-class AutofillField(view: ViewNode) {
+class AutofillFieldMetadata(view: ViewNode) {
var saveType = 0
private set
diff --git a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillFieldsCollection.kt b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadataCollection.kt
index c62ea327..4aa3e1fd 100644
--- a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/AutofillFieldsCollection.kt
+++ b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillFieldMetadataCollection.kt
@@ -13,39 +13,37 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.example.android.autofillframework.multidatasetservice.model
+package com.example.android.autofillframework.multidatasetservice
import android.view.autofill.AutofillId
-import java.util.ArrayList
-import java.util.HashMap
/**
- * Data structure that stores a collection of `AutofillField`s. Contains all of the client's `View`
+ * Data structure that stores a collection of `AutofillFieldMetadata`s. Contains all of the client's `View`
* hierarchy autofill-relevant metadata.
*/
-data class AutofillFieldsCollection(val autofillIds: ArrayList<AutofillId> = ArrayList<AutofillId>(),
- val allAutofillHints: ArrayList<String> = ArrayList<String>(),
- val focusedAutofillHints: ArrayList<String> = ArrayList<String>()) {
+data class AutofillFieldMetadataCollection(val autofillIds: java.util.ArrayList<AutofillId> = java.util.ArrayList<AutofillId>(),
+ val allAutofillHints: java.util.ArrayList<String> = java.util.ArrayList<String>(),
+ val focusedAutofillHints: java.util.ArrayList<String> = java.util.ArrayList<String>()) {
- private val autofillHintsToFieldsMap = HashMap<String, MutableList<AutofillField>>()
+ private val autofillHintsToFieldsMap = java.util.HashMap<String, MutableList<AutofillFieldMetadata>>()
var saveType = 0
private set
- fun add(autofillField: AutofillField) {
- saveType = saveType or autofillField.saveType
- autofillIds.add(autofillField.autofillId)
- val hintsList = autofillField.autofillHints
+ fun add(autofillFieldMetadata: AutofillFieldMetadata) {
+ saveType = saveType or autofillFieldMetadata.saveType
+ autofillIds.add(autofillFieldMetadata.autofillId)
+ val hintsList = autofillFieldMetadata.autofillHints
allAutofillHints.addAll(hintsList)
- if (autofillField.isFocused) {
+ if (autofillFieldMetadata.isFocused) {
focusedAutofillHints.addAll(hintsList)
}
- autofillField.autofillHints.forEach { autofillHint ->
- autofillHintsToFieldsMap[autofillHint] = autofillHintsToFieldsMap[autofillHint] ?: ArrayList<AutofillField>()
- autofillHintsToFieldsMap[autofillHint]?.add(autofillField)
+ autofillFieldMetadata.autofillHints.forEach { autofillHint ->
+ autofillHintsToFieldsMap[autofillHint] = autofillHintsToFieldsMap[autofillHint] ?: java.util.ArrayList<AutofillFieldMetadata>()
+ autofillHintsToFieldsMap[autofillHint]?.add(autofillFieldMetadata)
}
}
- fun getFieldsForHint(hint: String): MutableList<AutofillField>? {
+ fun getFieldsForHint(hint: String): MutableList<AutofillFieldMetadata>? {
return autofillHintsToFieldsMap[hint]
}
}
diff --git a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillHelper.kt b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillHelper.kt
index 4d67d5bc..394f620f 100644
--- a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillHelper.kt
+++ b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/AutofillHelper.kt
@@ -23,8 +23,7 @@ import android.util.Log
import android.widget.RemoteViews
import com.example.android.autofillframework.CommonUtil.TAG
import com.example.android.autofillframework.R
-import com.example.android.autofillframework.multidatasetservice.model.AutofillFieldsCollection
-import com.example.android.autofillframework.multidatasetservice.model.ClientFormData
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillFieldCollection
import java.util.HashMap
/**
@@ -36,11 +35,11 @@ object AutofillHelper {
* Wraps autofill data in a [Dataset] object which can then be sent back to the
* client View.
*/
- fun newDataset(context: Context, autofillFields: AutofillFieldsCollection,
- clientFormData: ClientFormData, datasetAuth: Boolean): Dataset? {
- clientFormData.datasetName?.let { datasetName ->
+ fun newDataset(context: Context, autofillFieldMetadata: AutofillFieldMetadataCollection,
+ filledAutofillFieldCollection: FilledAutofillFieldCollection, datasetAuth: Boolean): Dataset? {
+ filledAutofillFieldCollection.datasetName?.let { datasetName ->
val datasetBuilder = Dataset.Builder(newRemoteViews(context.packageName, datasetName))
- val setValueAtLeastOnce = clientFormData.applyToFields(autofillFields, datasetBuilder)
+ val setValueAtLeastOnce = filledAutofillFieldCollection.applyToFields(autofillFieldMetadata, datasetBuilder)
if (datasetAuth) {
val sender = AuthActivity.getAuthIntentSenderForDataset(context, datasetName)
datasetBuilder.setAuthentication(sender)
@@ -63,20 +62,20 @@ object AutofillHelper {
* then be sent back to the client View.
*/
fun newResponse(context: Context,
- datasetAuth: Boolean, autofillFields: AutofillFieldsCollection,
- clientFormDataMap: HashMap<String, ClientFormData>?): FillResponse? {
+ datasetAuth: Boolean, autofillFieldMetadata: AutofillFieldMetadataCollection,
+ filledAutofillFieldCollectionMap: HashMap<String, FilledAutofillFieldCollection>?): FillResponse? {
val responseBuilder = FillResponse.Builder()
- clientFormDataMap?.keys?.let { datasetNames ->
+ filledAutofillFieldCollectionMap?.keys?.let { datasetNames ->
for (datasetName in datasetNames) {
- clientFormDataMap[datasetName]?.let { clientFormData ->
- val dataset = newDataset(context, autofillFields, clientFormData, datasetAuth)
+ filledAutofillFieldCollectionMap[datasetName]?.let { clientFormData ->
+ val dataset = newDataset(context, autofillFieldMetadata, clientFormData, datasetAuth)
dataset?.let(responseBuilder::addDataset)
}
}
}
- if (autofillFields.saveType != 0) {
- val autofillIds = autofillFields.autofillIds
- responseBuilder.setSaveInfo(SaveInfo.Builder(autofillFields.saveType,
+ if (autofillFieldMetadata.saveType != 0) {
+ val autofillIds = autofillFieldMetadata.autofillIds
+ responseBuilder.setSaveInfo(SaveInfo.Builder(autofillFieldMetadata.saveType,
autofillIds.toTypedArray()).build())
return responseBuilder.build()
} else {
diff --git a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/MyAutofillService.kt b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/MyAutofillService.kt
index f9169029..fa069241 100644
--- a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/MyAutofillService.kt
+++ b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/MyAutofillService.kt
@@ -78,7 +78,7 @@ class MyAutofillService : AutofillService() {
Log.d(TAG, "onSaveRequest(): data=" + bundleToString(data))
val parser = StructureParser(structure)
parser.parseForSave()
- SharedPrefsAutofillRepository.saveClientFormData(this, parser.clientFormData)
+ SharedPrefsAutofillRepository.saveClientFormData(this, parser.filledAutofillFieldCollection)
}
override fun onConnected() {
diff --git a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/StructureParser.kt b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/StructureParser.kt
index 78cab5ee..31b59c8a 100644
--- a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/StructureParser.kt
+++ b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/StructureParser.kt
@@ -19,10 +19,8 @@ import android.app.assist.AssistStructure
import android.app.assist.AssistStructure.ViewNode
import android.util.Log
import com.example.android.autofillframework.CommonUtil.TAG
-import com.example.android.autofillframework.multidatasetservice.model.AutofillField
-import com.example.android.autofillframework.multidatasetservice.model.AutofillFieldsCollection
-import com.example.android.autofillframework.multidatasetservice.model.ClientFormData
-import com.example.android.autofillframework.multidatasetservice.model.SavableAutofillData
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillFieldCollection
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillField
/**
* Parser for an AssistStructure object. This is invoked when the Autofill Service receives an
@@ -30,8 +28,8 @@ import com.example.android.autofillframework.multidatasetservice.model.SavableAu
* parses the hierarchy and collects autofill metadata from {@link ViewNode}s along the way.
*/
internal class StructureParser(private val mStructure: AssistStructure) {
- val autofillFields = AutofillFieldsCollection()
- var clientFormData: ClientFormData = ClientFormData()
+ val autofillFields = AutofillFieldMetadataCollection()
+ var filledAutofillFieldCollection: FilledAutofillFieldCollection = FilledAutofillFieldCollection()
private set
@@ -49,7 +47,7 @@ internal class StructureParser(private val mStructure: AssistStructure) {
private fun parse(forFill: Boolean) {
Log.d(TAG, "Parsing structure for " + mStructure.activityComponent)
val nodes = mStructure.windowNodeCount
- clientFormData = ClientFormData()
+ filledAutofillFieldCollection = FilledAutofillFieldCollection()
for (i in 0..nodes - 1) {
val node = mStructure.getWindowNodeAt(i)
val view = node.rootViewNode
@@ -61,10 +59,10 @@ internal class StructureParser(private val mStructure: AssistStructure) {
viewNode.autofillHints?.let { autofillHints ->
if (autofillHints.isNotEmpty()) {
if (forFill) {
- autofillFields.add(AutofillField(viewNode))
+ autofillFields.add(AutofillFieldMetadata(viewNode))
} else {
- clientFormData.setAutofillValuesForHints(viewNode.autofillHints,
- SavableAutofillData(viewNode))
+ filledAutofillFieldCollection.setAutofillValuesForHints(viewNode.autofillHints,
+ FilledAutofillField(viewNode))
}
}
}
diff --git a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/AutofillRepository.kt b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/AutofillRepository.kt
index 9e4d6e20..510d759f 100644
--- a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/AutofillRepository.kt
+++ b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/AutofillRepository.kt
@@ -16,22 +16,22 @@
package com.example.android.autofillframework.multidatasetservice.datasource
import android.content.Context
-import com.example.android.autofillframework.multidatasetservice.model.ClientFormData
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillFieldCollection
import java.util.HashMap
interface AutofillRepository {
/**
- * Gets saved ClientFormData that contains some objects that can autofill fields with these
+ * Gets saved FilledAutofillFieldCollection that contains some objects that can autofill fields with these
* `autofillHints`.
*/
fun getClientFormData(context: Context, focusedAutofillHints: List<String>,
- allAutofillHints: List<String>): HashMap<String, ClientFormData>?
+ allAutofillHints: List<String>): HashMap<String, FilledAutofillFieldCollection>?
/**
* Saves LoginCredential under this datasetName.
*/
- fun saveClientFormData(context: Context, clientFormData: ClientFormData)
+ fun saveClientFormData(context: Context, filledAutofillFieldCollection: FilledAutofillFieldCollection)
/**
* Clears all data.
diff --git a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/SharedPrefsAutofillRepository.kt b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/SharedPrefsAutofillRepository.kt
index 8aeac0df..e2171708 100644
--- a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/SharedPrefsAutofillRepository.kt
+++ b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/datasource/SharedPrefsAutofillRepository.kt
@@ -18,7 +18,7 @@ package com.example.android.autofillframework.multidatasetservice.datasource
import android.content.Context
import android.content.SharedPreferences
import android.util.ArraySet
-import com.example.android.autofillframework.multidatasetservice.model.ClientFormData
+import com.example.android.autofillframework.multidatasetservice.model.FilledAutofillFieldCollection
import com.google.gson.Gson
import com.google.gson.reflect.TypeToken
@@ -38,13 +38,13 @@ object SharedPrefsAutofillRepository : AutofillRepository {
}
override fun getClientFormData(context: Context, focusedAutofillHints: List<String>,
- allAutofillHints: List<String>): HashMap<String, ClientFormData>? {
+ allAutofillHints: List<String>): HashMap<String, FilledAutofillFieldCollection>? {
var hasDataForFocusedAutofillHints = false
- val clientFormDataMap = HashMap<String, ClientFormData>()
+ val clientFormDataMap = HashMap<String, FilledAutofillFieldCollection>()
val clientFormDataStringSet = getAllAutofillDataStringSet(context)
for (clientFormDataString in clientFormDataStringSet) {
- val type = object : TypeToken<ClientFormData>() {}.type
- Gson().fromJson<ClientFormData>(clientFormDataString, type)?.let { clientFormData ->
+ val type = object : TypeToken<FilledAutofillFieldCollection>() {}.type
+ Gson().fromJson<FilledAutofillFieldCollection>(clientFormDataString, type)?.let { clientFormData ->
if (clientFormData.helpsWithHints(focusedAutofillHints)) {
// Saved data has data relevant to at least 1 of the hints associated with the
// View in focus.
@@ -66,11 +66,11 @@ object SharedPrefsAutofillRepository : AutofillRepository {
}
}
- override fun saveClientFormData(context: Context, clientFormData: ClientFormData) {
+ override fun saveClientFormData(context: Context, filledAutofillFieldCollection: FilledAutofillFieldCollection) {
val datasetName = "dataset-" + getDatasetNumber(context)
- clientFormData.datasetName = datasetName
+ filledAutofillFieldCollection.datasetName = datasetName
val allAutofillData = getAllAutofillDataStringSet(context)
- allAutofillData.add(Gson().toJson(clientFormData).toString())
+ allAutofillData.add(Gson().toJson(filledAutofillFieldCollection).toString())
saveAllAutofillDataStringSet(context, allAutofillData)
incrementDatasetNumber(context)
}
diff --git a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/SavableAutofillData.kt b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillField.kt
index 3c50d339..fd2e1769 100644
--- a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/SavableAutofillData.kt
+++ b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillField.kt
@@ -21,7 +21,7 @@ import android.view.autofill.AutofillValue
/**
* JSON serializable data class containing the same data as an [AutofillValue].
*/
-class SavableAutofillData(viewNode: AssistStructure.ViewNode) {
+class FilledAutofillField(viewNode: AssistStructure.ViewNode) {
var textValue: CharSequence? = null
var dateValue: Long? = null
var toggleValue: Boolean? = null
diff --git a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/ClientFormData.kt b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillFieldCollection.kt
index 8f434abe..1adf1dcc 100644
--- a/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/ClientFormData.kt
+++ b/input/autofill/AutofillFramework/kotlinApp/Application/src/main/java/com/example/android/autofillframework/multidatasetservice/model/FilledAutofillFieldCollection.kt
@@ -20,36 +20,37 @@ import android.util.Log
import android.view.View
import android.view.autofill.AutofillId
import android.view.autofill.AutofillValue
+import com.example.android.autofillframework.multidatasetservice.AutofillFieldMetadataCollection
import java.util.HashMap
/**
- * ClientFormData is the model that represents all of the form data on a client app's page, plus the
+ * FilledAutofillFieldCollection is the model that represents all of the form data on a client app's page, plus the
* dataset name associated with it.
*/
-class ClientFormData constructor(var datasetName: String? = null,
- private val hintMap: HashMap<String, SavableAutofillData> = HashMap<String, SavableAutofillData>()) {
+class FilledAutofillFieldCollection constructor(var datasetName: String? = null,
+ private val hintMap: HashMap<String, FilledAutofillField> = HashMap<String, FilledAutofillField>()) {
- private val TAG = "ClientFormData"
+ private val TAG = "FilledAutofillFieldCollection"
/**
* Sets values for a list of autofillHints.
*/
- fun setAutofillValuesForHints(autofillHints: Array<String>, autofillData: SavableAutofillData) {
+ fun setAutofillValuesForHints(autofillHints: Array<String>, autofillField: FilledAutofillField) {
autofillHints.forEach { hint ->
- hintMap[hint] = autofillData
+ hintMap[hint] = autofillField
}
}
/**
* Populates a [Dataset.Builder] with appropriate values for each [AutofillId]
- * in a `AutofillFieldsCollection`.
+ * in a `AutofillFieldMetadataCollection`.
*/
- fun applyToFields(autofillFieldsCollection: AutofillFieldsCollection,
+ fun applyToFields(autofillFieldMetadataCollection: AutofillFieldMetadataCollection,
datasetBuilder: Dataset.Builder): Boolean {
var setValueAtLeastOnce = false
- for (hint in autofillFieldsCollection.allAutofillHints) {
- val autofillFields = autofillFieldsCollection.getFieldsForHint(hint) ?: continue
+ for (hint in autofillFieldMetadataCollection.allAutofillHints) {
+ val autofillFields = autofillFieldMetadataCollection.getFieldsForHint(hint) ?: continue
for (autofillField in autofillFields) {
val autofillId = autofillField.autofillId
val autofillType = autofillField.autofillType