Rename Arguments to Data.

- Rename setOutput to setOutputData
- Rename BaseWork.Builder.withArguments to withInputData.

Change-Id: Idf490663c9639b9a90d0327d7f164534b0a0b2a4
Fixes: 76438322
Test: Updated and ran tests.
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/MainActivity.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/MainActivity.java
index 109e1d0..392bae3 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/MainActivity.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/MainActivity.java
@@ -25,8 +25,6 @@
 import android.view.View;
 import android.widget.EditText;
 
-import java.util.concurrent.TimeUnit;
-
 import androidx.work.Constraints;
 import androidx.work.NetworkType;
 import androidx.work.Work;
@@ -35,6 +33,8 @@
 import androidx.work.integration.testapp.imageprocessing.ImageProcessingActivity;
 import androidx.work.integration.testapp.sherlockholmes.AnalyzeSherlockHolmesActivity;
 
+import java.util.concurrent.TimeUnit;
+
 /**
  * Main Activity
  */
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/ToastWorker.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/ToastWorker.java
index 9bd9fde..8aff2bf 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/ToastWorker.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/ToastWorker.java
@@ -20,7 +20,7 @@
 import android.util.Log;
 import android.widget.Toast;
 
-import androidx.work.Arguments;
+import androidx.work.Data;
 import androidx.work.Work;
 import androidx.work.Worker;
 
@@ -37,14 +37,14 @@
      * @return A {@link Work.Builder}
      */
     public static Work.Builder create(String message) {
-        Arguments args = new Arguments.Builder().putString(ARG_MESSAGE, message).build();
-        return new Work.Builder(ToastWorker.class).withArguments(args);
+        Data input = new Data.Builder().putString(ARG_MESSAGE, message).build();
+        return new Work.Builder(ToastWorker.class).withInputData(input);
     }
 
     @Override
     public WorkerResult doWork() {
-        Arguments args = getArguments();
-        final String message = args.getString(ARG_MESSAGE, "completed!");
+        Data input = getInputData();
+        final String message = input.getString(ARG_MESSAGE, "completed!");
         new Handler(Looper.getMainLooper()).post(new Runnable() {
             @Override
             public void run() {
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageCleanupWorker.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageCleanupWorker.java
index 44fdab8..a3f182d 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageCleanupWorker.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageCleanupWorker.java
@@ -19,13 +19,13 @@
 import android.text.TextUtils;
 import android.util.Log;
 
-import java.io.File;
-import java.util.List;
-
 import androidx.work.Worker;
 import androidx.work.integration.testapp.db.Image;
 import androidx.work.integration.testapp.db.TestDatabase;
 
+import java.io.File;
+import java.util.List;
+
 /**
  * Removes all existing {@link Image} entities and deletes associated compressed files
  */
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingActivity.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingActivity.java
index 873e760..f97f40c 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingActivity.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingActivity.java
@@ -27,14 +27,14 @@
 import android.util.Log;
 import android.view.View;
 
-import java.util.List;
-
 import androidx.work.Work;
 import androidx.work.WorkManager;
 import androidx.work.integration.testapp.R;
 import androidx.work.integration.testapp.db.Image;
 import androidx.work.integration.testapp.db.TestDatabase;
 
+import java.util.List;
+
 /**
  * Image Processing Activity
  */
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingWorker.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingWorker.java
index ac4550d..63344f2 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingWorker.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageProcessingWorker.java
@@ -22,18 +22,18 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.work.Data;
+import androidx.work.Work;
+import androidx.work.Worker;
+import androidx.work.integration.testapp.db.Image;
+import androidx.work.integration.testapp.db.TestDatabase;
+
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.InputStream;
 
-import androidx.work.Arguments;
-import androidx.work.Work;
-import androidx.work.Worker;
-import androidx.work.integration.testapp.db.Image;
-import androidx.work.integration.testapp.db.TestDatabase;
-
 /**
  * Creates a compressed transformed image from a given {@link Uri} and writes
  * the information as a {@link Image} entity
@@ -46,7 +46,7 @@
     public WorkerResult doWork() {
         Log.d(TAG, "Started");
 
-        String uriString = getArguments().getString(URI_KEY, null);
+        String uriString = getInputData().getString(URI_KEY, null);
         if (TextUtils.isEmpty(uriString)) {
             Log.e(TAG, "Invalid URI!");
             return WorkerResult.FAILURE;
@@ -142,7 +142,7 @@
     }
 
     static Work createWork(String uriString) {
-        Arguments arguments = new Arguments.Builder().putString(URI_KEY, uriString).build();
-        return new Work.Builder(ImageProcessingWorker.class).withArguments(arguments).build();
+        Data input = new Data.Builder().putString(URI_KEY, uriString).build();
+        return new Work.Builder(ImageProcessingWorker.class).withInputData(input).build();
     }
 }
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageRecyclerViewAdapter.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageRecyclerViewAdapter.java
index 652c596..2eeace2 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageRecyclerViewAdapter.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageRecyclerViewAdapter.java
@@ -29,12 +29,12 @@
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import androidx.work.integration.testapp.R;
 import androidx.work.integration.testapp.db.Image;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * Manages a gallery of {@link Image} entities
  */
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageSetupWorker.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageSetupWorker.java
index 5f8f151..4fd8313 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageSetupWorker.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/imageprocessing/ImageSetupWorker.java
@@ -19,7 +19,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 
-import androidx.work.Arguments;
+import androidx.work.Data;
 import androidx.work.Work;
 import androidx.work.Worker;
 import androidx.work.integration.testapp.db.Image;
@@ -36,7 +36,7 @@
     public WorkerResult doWork() {
         Log.d(TAG, "Started");
 
-        String uriString = getArguments().getString(URI_KEY, null);
+        String uriString = getInputData().getString(URI_KEY, null);
         if (TextUtils.isEmpty(uriString)) {
             Log.e(TAG, "Invalid URI!");
             return WorkerResult.FAILURE;
@@ -50,7 +50,7 @@
     }
 
     static Work createWork(String uriString) {
-        Arguments arguments = new Arguments.Builder().putString(URI_KEY, uriString).build();
-        return new Work.Builder(ImageSetupWorker.class).withArguments(arguments).build();
+        Data input = new Data.Builder().putString(URI_KEY, uriString).build();
+        return new Work.Builder(ImageSetupWorker.class).withInputData(input).build();
     }
 }
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/AnalyzeSherlockHolmesActivity.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/AnalyzeSherlockHolmesActivity.java
index 85ef5c2..88fe358 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/AnalyzeSherlockHolmesActivity.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/AnalyzeSherlockHolmesActivity.java
@@ -26,8 +26,6 @@
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
-import java.util.List;
-
 import androidx.work.ArrayCreatingInputMerger;
 import androidx.work.Work;
 import androidx.work.WorkManager;
@@ -35,6 +33,8 @@
 import androidx.work.integration.testapp.db.TestDatabase;
 import androidx.work.integration.testapp.db.WordCount;
 
+import java.util.List;
+
 /**
  * Analyze Sherlock Holmes activity.
  */
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/TextMappingWorker.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/TextMappingWorker.java
index 4d88ff0..f456c37 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/TextMappingWorker.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/TextMappingWorker.java
@@ -19,6 +19,10 @@
 import android.content.res.AssetManager;
 import android.util.Log;
 
+import androidx.work.Data;
+import androidx.work.Work;
+import androidx.work.Worker;
+
 import java.io.DataOutputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -27,10 +31,6 @@
 import java.util.Map;
 import java.util.Scanner;
 
-import androidx.work.Arguments;
-import androidx.work.Work;
-import androidx.work.Worker;
-
 /**
  * A Worker that counts words of length > 3 and stores the results.
  */
@@ -47,16 +47,16 @@
      * @return A {@link Work.Builder} with these arguments
      */
     public static Work.Builder create(String inputFile) {
-        Arguments args = new Arguments.Builder()
+        Data input = new Data.Builder()
                 .putString(INPUT_FILE, inputFile)
                 .build();
-        return new Work.Builder(TextMappingWorker.class).withArguments(args);
+        return new Work.Builder(TextMappingWorker.class).withInputData(input);
     }
 
     @Override
     public WorkerResult doWork() {
-        Arguments args = getArguments();
-        String inputFileName = args.getString(INPUT_FILE, null);
+        Data input = getInputData();
+        String inputFileName = input.getString(INPUT_FILE, null);
         String outputFileName = "out_" + inputFileName;
 
         AssetManager assetManager = getAppContext().getAssets();
@@ -118,7 +118,7 @@
             }
         }
 
-        setOutput(new Arguments.Builder().putString(INPUT_FILE, outputFileName).build());
+        setOutputData(new Data.Builder().putString(INPUT_FILE, outputFileName).build());
 
         Log.d("Map", "Mapping finished for " + inputFileName);
         return WorkerResult.SUCCESS;
diff --git a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/TextReducingWorker.java b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/TextReducingWorker.java
index 7defd6f..ddd419e 100644
--- a/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/TextReducingWorker.java
+++ b/work/integration-tests/testapp/src/main/java/androidx/work/integration/testapp/sherlockholmes/TextReducingWorker.java
@@ -17,6 +17,11 @@
 
 import android.util.Log;
 
+import androidx.work.Data;
+import androidx.work.Worker;
+import androidx.work.integration.testapp.db.TestDatabase;
+import androidx.work.integration.testapp.db.WordCount;
+
 import java.io.DataInputStream;
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -26,11 +31,6 @@
 import java.util.List;
 import java.util.Map;
 
-import androidx.work.Arguments;
-import androidx.work.Worker;
-import androidx.work.integration.testapp.db.TestDatabase;
-import androidx.work.integration.testapp.db.WordCount;
-
 /**
  * A Worker that combines the word counts of various works and outputs them.
  */
@@ -42,8 +42,8 @@
 
     @Override
     public WorkerResult doWork() {
-        Arguments args = getArguments();
-        String[] inputFiles = args.getStringArray(INPUT_FILE);
+        Data input = getInputData();
+        String[] inputFiles = input.getStringArray(INPUT_FILE);
         if (inputFiles == null) {
             throw new IllegalArgumentException();
         }
diff --git a/work/workmanager/src/androidTest/java/androidx/work/impl/WorkContinuationImplTest.java b/work/workmanager/src/androidTest/java/androidx/work/impl/WorkContinuationImplTest.java
index 623ea5d..6dfb507 100644
--- a/work/workmanager/src/androidTest/java/androidx/work/impl/WorkContinuationImplTest.java
+++ b/work/workmanager/src/androidTest/java/androidx/work/impl/WorkContinuationImplTest.java
@@ -35,7 +35,7 @@
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
 
-import androidx.work.Arguments;
+import androidx.work.Data;
 import androidx.work.State;
 import androidx.work.TestLifecycleOwner;
 import androidx.work.Work;
@@ -262,10 +262,10 @@
 
         workSpecDao.setOutput(
                 firstWork.getId(),
-                new Arguments.Builder().putInt(intTag, 0).build());
+                new Data.Builder().putInt(intTag, 0).build());
         workSpecDao.setOutput(
                 secondWork.getId(),
-                new Arguments.Builder().putInt(intTag, 1).putString(stringTag, "hello").build());
+                new Data.Builder().putInt(intTag, 1).putString(stringTag, "hello").build());
 
         WorkContinuationImpl firstContinuation =
                 new WorkContinuationImpl(mWorkManagerImpl, Collections.singletonList(firstWork));
@@ -296,7 +296,7 @@
         assertThat(joinWorkSpec, is(not(nullValue())));
         assertThat(joinWorkSpec.state, is(State.SUCCEEDED));
 
-        Arguments output = joinWorkSpec.output;
+        Data output = joinWorkSpec.output;
         int[] intArray = output.getIntArray(intTag);
 
         assertThat(intArray, is(not(nullValue())));
diff --git a/work/workmanager/src/androidTest/java/androidx/work/impl/WorkManagerImplTest.java b/work/workmanager/src/androidTest/java/androidx/work/impl/WorkManagerImplTest.java
index b8823d0..4f8b849 100644
--- a/work/workmanager/src/androidTest/java/androidx/work/impl/WorkManagerImplTest.java
+++ b/work/workmanager/src/androidTest/java/androidx/work/impl/WorkManagerImplTest.java
@@ -59,11 +59,11 @@
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
 
-import androidx.work.Arguments;
 import androidx.work.BackoffPolicy;
 import androidx.work.BaseWork;
 import androidx.work.Constraints;
 import androidx.work.ContentUriTriggers;
+import androidx.work.Data;
 import androidx.work.PeriodicWork;
 import androidx.work.TestLifecycleOwner;
 import androidx.work.Work;
@@ -652,12 +652,12 @@
         WorkStatus workStatus0 = new WorkStatus(
                 work0.getId(),
                 ENQUEUED,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.<String>emptyList());
         WorkStatus workStatus1 = new WorkStatus(
                 work1.getId(),
                 ENQUEUED,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.<String>emptyList());
         assertThat(captor.getValue(), containsInAnyOrder(workStatus0, workStatus1));
 
@@ -671,7 +671,7 @@
         workStatus0 = new WorkStatus(
                 work0.getId(),
                 RUNNING,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.<String>emptyList());
         assertThat(captor.getValue(), containsInAnyOrder(workStatus0, workStatus1));
 
@@ -685,7 +685,7 @@
         workStatus1 = new WorkStatus(
                 work1.getId(),
                 RUNNING,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.<String>emptyList());
         assertThat(captor.getValue(), containsInAnyOrder(workStatus0, workStatus1));
 
@@ -718,17 +718,17 @@
         WorkStatus workStatus0 = new WorkStatus(
                 work0.getId(),
                 RUNNING,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Arrays.asList(firstTag, secondTag));
         WorkStatus workStatus1 = new WorkStatus(
                 work1.getId(),
                 BLOCKED,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.singletonList(firstTag));
         WorkStatus workStatus2 = new WorkStatus(
                 work2.getId(),
                 SUCCEEDED,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.singletonList(secondTag));
 
         List<WorkStatus> workStatuses = mWorkManagerImpl.getStatusesByTagBlocking(firstTag);
@@ -780,12 +780,12 @@
         WorkStatus workStatus0 = new WorkStatus(
                 work0.getId(),
                 RUNNING,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Arrays.asList(firstTag, secondTag));
         WorkStatus workStatus1 = new WorkStatus(
                 work1.getId(),
                 BLOCKED,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.singletonList(firstTag));
         assertThat(captor.getValue(), containsInAnyOrder(workStatus0, workStatus1));
 
@@ -798,7 +798,7 @@
         workStatus0 = new WorkStatus(
                 work0.getId(),
                 ENQUEUED,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Arrays.asList(firstTag, secondTag));
         assertThat(captor.getValue(), containsInAnyOrder(workStatus0, workStatus1));
 
@@ -820,17 +820,17 @@
         WorkStatus workStatus0 = new WorkStatus(
                 work0.getId(),
                 RUNNING,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.<String>emptyList());
         WorkStatus workStatus1 = new WorkStatus(
                 work1.getId(),
                 BLOCKED,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.<String>emptyList());
         WorkStatus workStatus2 = new WorkStatus(
                 work2.getId(),
                 BLOCKED,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.<String>emptyList());
 
         List<WorkStatus> workStatuses = mWorkManagerImpl.getStatusesByNameBlocking(testName);
@@ -868,17 +868,17 @@
         WorkStatus workStatus0 = new WorkStatus(
                 work0.getId(),
                 RUNNING,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.<String>emptyList());
         WorkStatus workStatus1 = new WorkStatus(
                 work1.getId(),
                 BLOCKED,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.<String>emptyList());
         WorkStatus workStatus2 = new WorkStatus(
                 work2.getId(),
                 BLOCKED,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.<String>emptyList());
         assertThat(captor.getValue(), containsInAnyOrder(workStatus0, workStatus1, workStatus2));
 
@@ -891,7 +891,7 @@
         workStatus0 = new WorkStatus(
                 work0.getId(),
                 ENQUEUED,
-                Arguments.EMPTY,
+                Data.EMPTY,
                 Collections.<String>emptyList());
         assertThat(captor.getValue(), containsInAnyOrder(workStatus0, workStatus1, workStatus2));
 
@@ -1177,7 +1177,7 @@
 
         WorkSpec workSpec = mDatabase.workSpecDao().getWorkSpec(work.getId());
         assertThat(workSpec.workerClassName, is(ConstraintTrackingWorker.class.getName()));
-        assertThat(workSpec.arguments.getString(
+        assertThat(workSpec.input.getString(
                 ConstraintTrackingWorker.ARGUMENT_CLASS_NAME, null),
                 is(TestWorker.class.getName()));
     }
@@ -1195,7 +1195,7 @@
 
         WorkSpec workSpec = mDatabase.workSpecDao().getWorkSpec(work.getId());
         assertThat(workSpec.workerClassName, is(ConstraintTrackingWorker.class.getName()));
-        assertThat(workSpec.arguments.getString(
+        assertThat(workSpec.input.getString(
                 ConstraintTrackingWorker.ARGUMENT_CLASS_NAME, null),
                 is(TestWorker.class.getName()));
     }
diff --git a/work/workmanager/src/androidTest/java/androidx/work/impl/WorkerWrapperTest.java b/work/workmanager/src/androidTest/java/androidx/work/impl/WorkerWrapperTest.java
index 2e11438..3be8d1d 100644
--- a/work/workmanager/src/androidTest/java/androidx/work/impl/WorkerWrapperTest.java
+++ b/work/workmanager/src/androidTest/java/androidx/work/impl/WorkerWrapperTest.java
@@ -41,8 +41,8 @@
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
 
-import androidx.work.Arguments;
 import androidx.work.ArrayCreatingInputMerger;
+import androidx.work.Data;
 import androidx.work.DatabaseTest;
 import androidx.work.PeriodicWork;
 import androidx.work.Work;
@@ -283,7 +283,7 @@
                 .withSchedulers(Collections.singletonList(mMockScheduler))
                 .build().run();
 
-        List<Arguments> arguments = mWorkSpecDao.getInputsFromPrerequisites(work.getId());
+        List<Data> arguments = mWorkSpecDao.getInputsFromPrerequisites(work.getId());
         assertThat(arguments.size(), is(1));
         assertThat(arguments, contains(ChainedArgumentWorker.getChainedArguments()));
     }
@@ -296,10 +296,10 @@
         String value2 = "value2";
 
         Work prerequisiteWork1 = new Work.Builder(EchoingWorker.class)
-                .withArguments(new Arguments.Builder().putString(key, value1).build())
+                .withInputData(new Data.Builder().putString(key, value1).build())
                 .build();
         Work prerequisiteWork2 = new Work.Builder(EchoingWorker.class)
-                .withArguments(new Arguments.Builder().putString(key, value2).build())
+                .withInputData(new Data.Builder().putString(key, value2).build())
                 .build();
         Work work = new Work.Builder(TestWorker.class)
                 .withInputMerger(ArrayCreatingInputMerger.class)
@@ -334,9 +334,9 @@
                 .build();
         workerWrapper.run();
 
-        Arguments arguments = workerWrapper.mWorker.getArguments();
-        assertThat(arguments.size(), is(1));
-        assertThat(Arrays.asList(arguments.getStringArray(key)),
+        Data input = workerWrapper.mWorker.getInputData();
+        assertThat(input.size(), is(1));
+        assertThat(Arrays.asList(input.getStringArray(key)),
                 containsInAnyOrder(value1, value2));
     }
 
@@ -531,7 +531,7 @@
         Worker worker = WorkerWrapper.workerFromWorkSpec(
                 mContext,
                 getWorkSpec(work),
-                Arguments.EMPTY,
+                Data.EMPTY,
                 null);
 
         assertThat(worker, is(notNullValue()));
@@ -543,27 +543,27 @@
     public void testFromWorkSpec_hasCorrectArguments() throws InterruptedException {
         String key = "KEY";
         String expectedValue = "VALUE";
-        Arguments arguments = new Arguments.Builder().putString(key, expectedValue).build();
+        Data input = new Data.Builder().putString(key, expectedValue).build();
 
-        Work work = new Work.Builder(TestWorker.class).withArguments(arguments).build();
+        Work work = new Work.Builder(TestWorker.class).withInputData(input).build();
         Worker worker = WorkerWrapper.workerFromWorkSpec(
                 mContext,
                 getWorkSpec(work),
-                arguments,
+                input,
                 null);
 
         assertThat(worker, is(notNullValue()));
-        assertThat(worker.getArguments().getString(key, null), is(expectedValue));
+        assertThat(worker.getInputData().getString(key, null), is(expectedValue));
 
         work = new Work.Builder(TestWorker.class).build();
         worker = WorkerWrapper.workerFromWorkSpec(
                 mContext,
                 getWorkSpec(work),
-                Arguments.EMPTY,
+                Data.EMPTY,
                 null);
 
         assertThat(worker, is(notNullValue()));
-        assertThat(worker.getArguments().size(), is(0));
+        assertThat(worker.getInputData().size(), is(0));
     }
 
     @Test
diff --git a/work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java b/work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java
index 24d35c8..2fde43b 100644
--- a/work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java
+++ b/work/workmanager/src/androidTest/java/androidx/work/impl/workers/ConstraintTrackingWorkerTest.java
@@ -31,8 +31,8 @@
 import android.support.test.filters.SmallTest;
 import android.support.test.runner.AndroidJUnit4;
 
-import androidx.work.Arguments;
 import androidx.work.Constraints;
+import androidx.work.Data;
 import androidx.work.DatabaseTest;
 import androidx.work.State;
 import androidx.work.Work;
@@ -124,13 +124,13 @@
 
         String delegateName = EchoingWorker.class.getName();
 
-        Arguments arguments = new Arguments.Builder()
+        Data input = new Data.Builder()
                 .putString(ConstraintTrackingWorker.ARGUMENT_CLASS_NAME, delegateName)
                 .putBoolean(TEST_ARGUMENT_NAME, true)
                 .build();
 
         final Work work = new Work.Builder(ConstraintTrackingWorker.class)
-                .withArguments(arguments)
+                .withInputData(input)
                 .withConstraints(constraints)
                 .build();
 
@@ -142,7 +142,7 @@
                         mContext,
                         ConstraintTrackingWorker.class.getName(),
                         workSpecId,
-                        arguments,
+                        input,
                         null);
 
         ConstraintTrackingWorker spyWorker = spy(worker);
@@ -158,7 +158,7 @@
         WorkSpec workSpec = mDatabase.workSpecDao().getWorkSpec(workSpecId);
         assertThat(mLatch.getCount(), is(0L));
         assertThat(workSpec.state, is(State.SUCCEEDED));
-        Arguments output = workSpec.output;
+        Data output = workSpec.output;
         assertThat(output.getBoolean(TEST_ARGUMENT_NAME, false), is(true));
     }
 
@@ -171,7 +171,7 @@
                 .build();
 
         String delegateName = TestWorker.class.getName();
-        Arguments arguments = new Arguments.Builder()
+        Data input = new Data.Builder()
                 .putString(ConstraintTrackingWorker.ARGUMENT_CLASS_NAME, delegateName)
                 .build();
 
@@ -187,7 +187,7 @@
                         mContext,
                         ConstraintTrackingWorker.class.getName(),
                         workSpecId,
-                        arguments,
+                        input,
                         null);
 
         ConstraintTrackingWorker spyWorker = spy(worker);
@@ -214,7 +214,7 @@
                 .build();
 
         String delegateName = SleepTestWorker.class.getName();
-        Arguments arguments = new Arguments.Builder()
+        Data input = new Data.Builder()
                 .putString(ConstraintTrackingWorker.ARGUMENT_CLASS_NAME, delegateName)
                 .build();
 
@@ -231,7 +231,7 @@
                         mContext,
                         ConstraintTrackingWorker.class.getName(),
                         workSpecId,
-                        arguments,
+                        input,
                         null);
 
         ConstraintTrackingWorker spyWorker = spy(worker);
@@ -266,7 +266,7 @@
                 .build();
 
         String delegateName = SleepTestWorker.class.getName();
-        Arguments arguments = new Arguments.Builder()
+        Data input = new Data.Builder()
                 .putString(ConstraintTrackingWorker.ARGUMENT_CLASS_NAME, delegateName)
                 .build();
 
@@ -283,7 +283,7 @@
                         mContext,
                         ConstraintTrackingWorker.class.getName(),
                         workSpecId,
-                        arguments,
+                        input,
                         null);
 
         ConstraintTrackingWorker spyWorker = spy(worker);
diff --git a/work/workmanager/src/androidTest/java/androidx/work/worker/ChainedArgumentWorker.java b/work/workmanager/src/androidTest/java/androidx/work/worker/ChainedArgumentWorker.java
index 0facacc..ffdcfe7 100644
--- a/work/workmanager/src/androidTest/java/androidx/work/worker/ChainedArgumentWorker.java
+++ b/work/workmanager/src/androidTest/java/androidx/work/worker/ChainedArgumentWorker.java
@@ -16,7 +16,7 @@
 
 package androidx.work.worker;
 
-import androidx.work.Arguments;
+import androidx.work.Data;
 import androidx.work.Worker;
 
 /**
@@ -30,11 +30,11 @@
 
     @Override
     public WorkerResult doWork() {
-        setOutput(getChainedArguments());
+        setOutputData(getChainedArguments());
         return WorkerResult.SUCCESS;
     }
 
-    public static Arguments getChainedArguments() {
-        return new Arguments.Builder().putString(ARGUMENT_KEY, ARGUMENT_VALUE).build();
+    public static Data getChainedArguments() {
+        return new Data.Builder().putString(ARGUMENT_KEY, ARGUMENT_VALUE).build();
     }
 }
diff --git a/work/workmanager/src/androidTest/java/androidx/work/worker/EchoingWorker.java b/work/workmanager/src/androidTest/java/androidx/work/worker/EchoingWorker.java
index 4f2be55..48bcae3 100644
--- a/work/workmanager/src/androidTest/java/androidx/work/worker/EchoingWorker.java
+++ b/work/workmanager/src/androidTest/java/androidx/work/worker/EchoingWorker.java
@@ -22,7 +22,7 @@
 
     @Override
     public WorkerResult doWork() {
-        setOutput(getArguments());
+        setOutputData(getInputData());
         return WorkerResult.SUCCESS;
     }
 }
diff --git a/work/workmanager/src/main/java/androidx/work/ArrayCreatingInputMerger.java b/work/workmanager/src/main/java/androidx/work/ArrayCreatingInputMerger.java
index a3bf429..cc00343 100644
--- a/work/workmanager/src/main/java/androidx/work/ArrayCreatingInputMerger.java
+++ b/work/workmanager/src/main/java/androidx/work/ArrayCreatingInputMerger.java
@@ -40,11 +40,11 @@
 public class ArrayCreatingInputMerger extends InputMerger {
 
     @Override
-    public Arguments merge(List<Arguments> inputs) {
-        Arguments.Builder output = new Arguments.Builder();
+    public Data merge(List<Data> inputs) {
+        Data.Builder output = new Data.Builder();
         Map<String, Object> mergedValues = new HashMap<>();
 
-        for (Arguments input : inputs) {
+        for (Data input : inputs) {
             for (Map.Entry<String, Object> entry : input.getKeyValueMap().entrySet()) {
                 String key = entry.getKey();
                 Object value = entry.getValue();
diff --git a/work/workmanager/src/main/java/androidx/work/BaseWork.java b/work/workmanager/src/main/java/androidx/work/BaseWork.java
index fcbaf82..9bfb367 100644
--- a/work/workmanager/src/main/java/androidx/work/BaseWork.java
+++ b/work/workmanager/src/main/java/androidx/work/BaseWork.java
@@ -137,13 +137,13 @@
         }
 
         /**
-         * Add arguments to the work.
+         * Add input {@link Data} to the work.
          *
-         * @param arguments key/value pairs that will be provided to the {@link Worker} class
+         * @param inputData key/value pairs that will be provided to the {@link Worker} class
          * @return The current {@link Builder}
          */
-        public B withArguments(@NonNull Arguments arguments) {
-            mWorkSpec.arguments = arguments;
+        public B withInputData(@NonNull Data inputData) {
+            mWorkSpec.input = inputData;
             return getThis();
         }
 
diff --git a/work/workmanager/src/main/java/androidx/work/Arguments.java b/work/workmanager/src/main/java/androidx/work/Data.java
similarity index 92%
rename from work/workmanager/src/main/java/androidx/work/Arguments.java
rename to work/workmanager/src/main/java/androidx/work/Data.java
index a28f1fe..8d47884 100644
--- a/work/workmanager/src/main/java/androidx/work/Arguments.java
+++ b/work/workmanager/src/main/java/androidx/work/Data.java
@@ -35,18 +35,18 @@
  * Persistable set of key/value pairs which are passed to {@link Worker}s.
  */
 
-public final class Arguments {
+public final class Data {
 
-    private static final String TAG = "Arguments";
+    private static final String TAG = "Data";
 
     private Map<String, Object> mValues;
 
-    public static final Arguments EMPTY = new Arguments.Builder().build();
+    public static final Data EMPTY = new Data.Builder().build();
 
-    Arguments() {    // stub required for room
+    Data() {    // stub required for room
     }
 
-    Arguments(Map<String, ?> values) {
+    Data(Map<String, ?> values) {
         mValues = new HashMap<>(values);
     }
 
@@ -263,7 +263,7 @@
     }
 
     /**
-     * Gets all the values in this Arguments object.
+     * Gets all the values in this Data object.
      *
      * @return A {@link Map} of key-value pairs for this object; this Map is unmodifiable and should
      * be used for reads only.
@@ -281,19 +281,19 @@
     }
 
     /**
-     * Converts {@link Arguments} to a byte array for persistent storage.
+     * Converts {@link Data} to a byte array for persistent storage.
      *
-     * @param arguments The {@link Arguments} object to convert
+     * @param data The {@link Data} object to convert
      * @return The byte array representation of the input
      */
     @TypeConverter
-    public static byte[] toByteArray(Arguments arguments) {
+    public static byte[] toByteArray(Data data) {
         ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
         ObjectOutputStream objectOutputStream = null;
         try {
             objectOutputStream = new ObjectOutputStream(outputStream);
-            objectOutputStream.writeInt(arguments.size());
-            for (Map.Entry<String, Object> entry : arguments.mValues.entrySet()) {
+            objectOutputStream.writeInt(data.size());
+            for (Map.Entry<String, Object> entry : data.mValues.entrySet()) {
                 objectOutputStream.writeUTF(entry.getKey());
                 objectOutputStream.writeObject(entry.getValue());
             }
@@ -317,13 +317,13 @@
     }
 
     /**
-     * Converts a byte array to {@link Arguments}.
+     * Converts a byte array to {@link Data}.
      *
      * @param bytes The byte array representation to convert
-     * @return An {@link Arguments} object built from the input
+     * @return An {@link Data} object built from the input
      */
     @TypeConverter
-    public static Arguments fromByteArray(byte[] bytes) {
+    public static Data fromByteArray(byte[] bytes) {
         Map<String, Object> map = new HashMap<>();
         ByteArrayInputStream inputStream = new ByteArrayInputStream(bytes);
         ObjectInputStream objectInputStream = null;
@@ -348,7 +348,7 @@
                 e.printStackTrace();
             }
         }
-        return new Arguments(map);
+        return new Data(map);
     }
 
     @Override
@@ -359,7 +359,7 @@
         if (o == null || getClass() != o.getClass()) {
             return false;
         }
-        Arguments other = (Arguments) o;
+        Data other = (Data) o;
         return mValues.equals(other.mValues);
     }
 
@@ -409,7 +409,7 @@
     }
 
     /**
-     * A builder for {@link Arguments}.
+     * A builder for {@link Data}.
      */
     public static class Builder {
 
@@ -560,16 +560,16 @@
         }
 
         /**
-         * Puts all input key-value pairs from the {@link Arguments} into the Builder.
+         * Puts all input key-value pairs from the {@link Data} into the Builder.
          * Any non-valid types will be logged and ignored.  Valid types are: Boolean, Integer,
          * Long, Double, String, and array versions of each of those types.
          * Any {@code null} values will also be ignored.
          *
-         * @param values {@link Arguments} containing key-value pairs to add
+         * @param data {@link Data} containing key-value pairs to add
          * @return The {@link Builder}
          */
-        public Builder putAll(@NonNull Arguments values) {
-            putAll(values.mValues);
+        public Builder putAll(@NonNull Data data) {
+            putAll(data.mValues);
             return this;
         }
 
@@ -618,13 +618,13 @@
         }
 
         /**
-         * Builds an {@link Arguments} object.
+         * Builds an {@link Data} object.
          *
-         * @return The {@link Arguments} object containing all key-value pairs specified by this
+         * @return The {@link Data} object containing all key-value pairs specified by this
          *         {@link Builder}.
          */
-        public Arguments build() {
-            return new Arguments(mValues);
+        public Data build() {
+            return new Data(mValues);
         }
     }
 }
diff --git a/work/workmanager/src/main/java/androidx/work/InputMerger.java b/work/workmanager/src/main/java/androidx/work/InputMerger.java
index a43aab3..bb1becc 100644
--- a/work/workmanager/src/main/java/androidx/work/InputMerger.java
+++ b/work/workmanager/src/main/java/androidx/work/InputMerger.java
@@ -30,12 +30,12 @@
     private static final String TAG = "InputMerger";
 
     /**
-     * Merges a list of {@link Arguments} and outputs a single Arguments object.
+     * Merges a list of {@link Data} and outputs a single Data object.
      *
-     * @param inputs A list of {@link Arguments} from previous Workers or the Work.Builder
+     * @param inputs A list of {@link Data} from previous Workers or the Work.Builder
      * @return The merged output
      */
-    public abstract Arguments merge(List<Arguments> inputs);
+    public abstract Data merge(List<Data> inputs);
 
     /**
      * Instantiates an {@link InputMerger} from its class name.
diff --git a/work/workmanager/src/main/java/androidx/work/OverwritingInputMerger.java b/work/workmanager/src/main/java/androidx/work/OverwritingInputMerger.java
index 6a080ec..86c50d4 100644
--- a/work/workmanager/src/main/java/androidx/work/OverwritingInputMerger.java
+++ b/work/workmanager/src/main/java/androidx/work/OverwritingInputMerger.java
@@ -30,11 +30,11 @@
 public class OverwritingInputMerger extends InputMerger {
 
     @Override
-    public Arguments merge(List<Arguments> inputs) {
-        Arguments.Builder output = new Arguments.Builder();
+    public Data merge(List<Data> inputs) {
+        Data.Builder output = new Data.Builder();
         Map<String, Object> mergedValues = new HashMap<>();
 
-        for (Arguments input : inputs) {
+        for (Data input : inputs) {
             mergedValues.putAll(input.getKeyValueMap());
         }
 
diff --git a/work/workmanager/src/main/java/androidx/work/WorkStatus.java b/work/workmanager/src/main/java/androidx/work/WorkStatus.java
index 9f19ed0..039e4db 100644
--- a/work/workmanager/src/main/java/androidx/work/WorkStatus.java
+++ b/work/workmanager/src/main/java/androidx/work/WorkStatus.java
@@ -32,17 +32,17 @@
 
     private String mId;
     private State mState;
-    private Arguments mOutput;
+    private Data mOutputData;
     private Set<String> mTags;
 
     public WorkStatus(
             @NonNull String id,
             @NonNull State state,
-            @NonNull Arguments output,
+            @NonNull Data outputData,
             @NonNull List<String> tags) {
         mId = id;
         mState = state;
-        mOutput = output;
+        mOutputData = outputData;
         mTags = new HashSet<>(tags);
     }
 
@@ -54,8 +54,8 @@
         return mState;
     }
 
-    public @NonNull Arguments getOutputArguments() {
-        return mOutput;
+    public @NonNull Data getOutputData() {
+        return mOutputData;
     }
 
     public @NonNull Set<String> getTags() {
@@ -71,7 +71,10 @@
 
         if (mId != null ? !mId.equals(that.mId) : that.mId != null) return false;
         if (mState != that.mState) return false;
-        if (mOutput != null ? !mOutput.equals(that.mOutput) : that.mOutput != null) return false;
+        if (mOutputData != null ? !mOutputData.equals(that.mOutputData)
+                : that.mOutputData != null) {
+            return false;
+        }
         return mTags != null ? mTags.equals(that.mTags) : that.mTags == null;
     }
 
@@ -79,7 +82,7 @@
     public int hashCode() {
         int result = mId != null ? mId.hashCode() : 0;
         result = 31 * result + (mState != null ? mState.hashCode() : 0);
-        result = 31 * result + (mOutput != null ? mOutput.hashCode() : 0);
+        result = 31 * result + (mOutputData != null ? mOutputData.hashCode() : 0);
         result = 31 * result + (mTags != null ? mTags.hashCode() : 0);
         return result;
     }
diff --git a/work/workmanager/src/main/java/androidx/work/Worker.java b/work/workmanager/src/main/java/androidx/work/Worker.java
index e407b5d..4cb0e20 100644
--- a/work/workmanager/src/main/java/androidx/work/Worker.java
+++ b/work/workmanager/src/main/java/androidx/work/Worker.java
@@ -40,8 +40,8 @@
 
     private Context mAppContext;
     private @NonNull String mId;
-    private @NonNull Arguments mArguments;
-    private Arguments mOutput;
+    private @NonNull Data mInputData;
+    private Data mOutputData;
     private RuntimeExtras mRuntimeExtras;
 
     public final Context getAppContext() {
@@ -52,8 +52,8 @@
         return mId;
     }
 
-    public final @NonNull Arguments getArguments() {
-        return mArguments;
+    public final @NonNull Data getInputData() {
+        return mInputData;
     }
 
     @RequiresApi(24)
@@ -79,9 +79,9 @@
     public abstract WorkerResult doWork();
 
     /**
-     * Call this method to pass an {@link Arguments} object to {@link Work} that is dependent on
+     * Call this method to pass an {@link Data} object to {@link Work} that is dependent on
      * this one.  Note that if there are multiple {@link Worker}s that contribute to the target, the
-     * Arguments will be merged together, so it is up to the developer to make sure that keys are
+     * Data will be merged together, so it is up to the developer to make sure that keys are
      * unique.  New values and types will clobber old values and types, and if there are multiple
      * parent Workers of a child Worker, the order of clobbering may not be deterministic.
      *
@@ -96,29 +96,29 @@
      *            .enqueue()}
      *
      * This method would be called for both WorkerA and WorkerB after their successful completion,
-     * modifying the input Arguments for WorkerC.
+     * modifying the input Data for WorkerC.
      *
-     * @param output An {@link Arguments} object that will be merged into the input Arguments of any
+     * @param outputData An {@link Data} object that will be merged into the input Data of any
      *               Work that is dependent on this one, or {@code null} if there is nothing to
      *               contribute
      */
-    public final void setOutput(Arguments output) {
-        mOutput = output;
+    public final void setOutputData(Data outputData) {
+        mOutputData = outputData;
     }
 
-    public final Arguments getOutput() {
-        return mOutput;
+    public final Data getOutputData() {
+        return mOutputData;
     }
 
     @Keep
     private void internalInit(
             Context appContext,
             @NonNull String id,
-            @NonNull Arguments arguments,
+            @NonNull Data inputData,
             @Nullable RuntimeExtras runtimeExtras) {
         mAppContext = appContext;
         mId = id;
-        mArguments = arguments;
+        mInputData = inputData;
         mRuntimeExtras = runtimeExtras;
     }
 
diff --git a/work/workmanager/src/main/java/androidx/work/impl/WorkDatabase.java b/work/workmanager/src/main/java/androidx/work/impl/WorkDatabase.java
index bf0d182..71fb17c 100644
--- a/work/workmanager/src/main/java/androidx/work/impl/WorkDatabase.java
+++ b/work/workmanager/src/main/java/androidx/work/impl/WorkDatabase.java
@@ -29,8 +29,8 @@
 import android.support.annotation.NonNull;
 import android.support.annotation.RestrictTo;
 
-import androidx.work.Arguments;
 import androidx.work.ContentUriTriggers;
+import androidx.work.Data;
 import androidx.work.impl.model.AlarmInfo;
 import androidx.work.impl.model.AlarmInfoDao;
 import androidx.work.impl.model.Dependency;
@@ -61,7 +61,7 @@
         WorkName.class},
         version = 1,
         exportSchema = false)
-@TypeConverters(value = {Arguments.class, ContentUriTriggers.class, EnumTypeConverters.class})
+@TypeConverters(value = {Data.class, ContentUriTriggers.class, EnumTypeConverters.class})
 public abstract class WorkDatabase extends RoomDatabase {
 
     private static final String DB_NAME = "androidx.work.workdb";
diff --git a/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java b/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
index 6c7bd9f..6dae6da 100644
--- a/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
+++ b/work/workmanager/src/main/java/androidx/work/impl/WorkerWrapper.java
@@ -30,7 +30,7 @@
 import android.support.annotation.WorkerThread;
 import android.util.Log;
 
-import androidx.work.Arguments;
+import androidx.work.Data;
 import androidx.work.InputMerger;
 import androidx.work.State;
 import androidx.work.Worker;
@@ -94,9 +94,9 @@
             return;
         }
 
-        Arguments arguments;
+        Data input;
         if (mWorkSpec.isPeriodic()) {
-            arguments = mWorkSpec.arguments;
+            input = mWorkSpec.input;
         } else {
             InputMerger inputMerger = InputMerger.fromClassName(mWorkSpec.inputMergerClassName);
             if (inputMerger == null) {
@@ -105,16 +105,16 @@
                 setFailedAndNotify();
                 return;
             }
-            List<Arguments> inputs = new ArrayList<>();
-            inputs.add(mWorkSpec.arguments);
+            List<Data> inputs = new ArrayList<>();
+            inputs.add(mWorkSpec.input);
             inputs.addAll(mWorkSpecDao.getInputsFromPrerequisites(mWorkSpecId));
-            arguments = inputMerger.merge(inputs);
+            input = inputMerger.merge(inputs);
         }
 
         // Not always creating a worker here, as the WorkerWrapper.Builder can set a worker override
         // in test mode.
         if (mWorker == null) {
-            mWorker = workerFromWorkSpec(mAppContext, mWorkSpec, arguments, mRuntimeExtras);
+            mWorker = workerFromWorkSpec(mAppContext, mWorkSpec, input, mRuntimeExtras);
         }
 
         if (mWorker == null) {
@@ -218,10 +218,10 @@
             // Try to set the output for the failed work but check if the worker exists; this could
             // be a permanent error where we couldn't find or create the worker class.
             if (mWorker != null) {
-                // Update Arguments as necessary.
-                Arguments outputArgs = mWorker.getOutput();
-                if (outputArgs != null) {
-                    mWorkSpecDao.setOutput(mWorkSpecId, outputArgs);
+                // Update Data as necessary.
+                Data output = mWorker.getOutputData();
+                if (output != null) {
+                    mWorkSpecDao.setOutput(mWorkSpecId, output);
                 }
             }
 
@@ -279,10 +279,10 @@
         try {
             mWorkSpecDao.setState(SUCCEEDED, mWorkSpecId);
 
-            // Update Arguments as necessary.
-            Arguments outputArgs = mWorker.getOutput();
-            if (outputArgs != null) {
-                mWorkSpecDao.setOutput(mWorkSpecId, outputArgs);
+            // Update Data as necessary.
+            Data output = mWorker.getOutputData();
+            if (output != null) {
+                mWorkSpecDao.setOutput(mWorkSpecId, output);
             }
 
             // Unblock Dependencies and set Period Start Time
@@ -308,7 +308,7 @@
 
     static Worker workerFromWorkSpec(@NonNull Context context,
             @NonNull WorkSpec workSpec,
-            @NonNull Arguments arguments,
+            @NonNull Data inputData,
             @Nullable RuntimeExtras runtimeExtras) {
         String workerClassName = workSpec.workerClassName;
         String workSpecId = workSpec.id;
@@ -316,7 +316,7 @@
                 context,
                 workerClassName,
                 workSpecId,
-                arguments,
+                inputData,
                 runtimeExtras);
     }
 
@@ -326,7 +326,7 @@
      * @param context         The application {@link Context}
      * @param workerClassName The fully qualified class name for the {@link Worker}
      * @param workSpecId      The {@link WorkSpec} identifier
-     * @param arguments       The {@link Arguments} for the worker
+     * @param inputData       The {@link Data} for the worker
      * @return The instance of {@link Worker}
      *
      * @hide
@@ -337,7 +337,7 @@
             @NonNull Context context,
             @NonNull String workerClassName,
             @NonNull String workSpecId,
-            @NonNull Arguments arguments,
+            @NonNull Data inputData,
             @Nullable RuntimeExtras runtimeExtras) {
         Context appContext = context.getApplicationContext();
         try {
@@ -347,14 +347,14 @@
                     "internalInit",
                     Context.class,
                     String.class,
-                    Arguments.class,
+                    Data.class,
                     RuntimeExtras.class);
             internalInitMethod.setAccessible(true);
             internalInitMethod.invoke(
                     worker,
                     appContext,
                     workSpecId,
-                    arguments,
+                    inputData,
                     runtimeExtras);
             return worker;
         } catch (Exception e) {
diff --git a/work/workmanager/src/main/java/androidx/work/impl/model/WorkSpec.java b/work/workmanager/src/main/java/androidx/work/impl/model/WorkSpec.java
index 216340e..d4dd43e 100644
--- a/work/workmanager/src/main/java/androidx/work/impl/model/WorkSpec.java
+++ b/work/workmanager/src/main/java/androidx/work/impl/model/WorkSpec.java
@@ -32,10 +32,10 @@
 import android.support.annotation.NonNull;
 import android.support.annotation.RestrictTo;
 
-import androidx.work.Arguments;
 import androidx.work.BackoffPolicy;
 import androidx.work.BaseWork;
 import androidx.work.Constraints;
+import androidx.work.Data;
 import androidx.work.State;
 import androidx.work.WorkStatus;
 import androidx.work.impl.logger.Logger;
@@ -72,13 +72,13 @@
     @ColumnInfo(name = "input_merger_class_name")
     public String inputMergerClassName;
 
-    @ColumnInfo(name = "arguments")
+    @ColumnInfo(name = "input")
     @NonNull
-    public Arguments arguments = Arguments.EMPTY;
+    public Data input = Data.EMPTY;
 
     @ColumnInfo(name = "output")
     @NonNull
-    public Arguments output = Arguments.EMPTY;
+    public Data output = Data.EMPTY;
 
     @ColumnInfo(name = "initial_delay")
     public long initialDelay;
@@ -253,7 +253,7 @@
                 : workSpec.inputMergerClassName != null) {
             return false;
         }
-        if (!arguments.equals(workSpec.arguments)) return false;
+        if (!input.equals(workSpec.input)) return false;
         if (!output.equals(workSpec.output)) return false;
         if (!constraints.equals(workSpec.constraints)) return false;
         return backoffPolicy == workSpec.backoffPolicy;
@@ -265,7 +265,7 @@
         result = 31 * result + state.hashCode();
         result = 31 * result + workerClassName.hashCode();
         result = 31 * result + (inputMergerClassName != null ? inputMergerClassName.hashCode() : 0);
-        result = 31 * result + arguments.hashCode();
+        result = 31 * result + input.hashCode();
         result = 31 * result + output.hashCode();
         result = 31 * result + (int) (initialDelay ^ (initialDelay >>> 32));
         result = 31 * result + (int) (intervalDuration ^ (intervalDuration >>> 32));
@@ -327,7 +327,7 @@
         public State state;
 
         @ColumnInfo(name = "output")
-        public Arguments output;
+        public Data output;
 
         @Relation(
                 parentColumn = "id",
diff --git a/work/workmanager/src/main/java/androidx/work/impl/model/WorkSpecDao.java b/work/workmanager/src/main/java/androidx/work/impl/model/WorkSpecDao.java
index b0830eb..1e6805c 100644
--- a/work/workmanager/src/main/java/androidx/work/impl/model/WorkSpecDao.java
+++ b/work/workmanager/src/main/java/androidx/work/impl/model/WorkSpecDao.java
@@ -27,7 +27,7 @@
 import android.arch.persistence.room.Transaction;
 import android.support.annotation.NonNull;
 
-import androidx.work.Arguments;
+import androidx.work.Data;
 import androidx.work.State;
 import androidx.work.impl.Scheduler;
 
@@ -101,10 +101,10 @@
      * Updates the output of a {@link WorkSpec}.
      *
      * @param id The {@link WorkSpec} identifier to update
-     * @param output The {@link Arguments} to set as the output
+     * @param output The {@link Data} to set as the output
      */
     @Query("UPDATE workspec SET output=:output WHERE id=:id")
-    void setOutput(String id, Arguments output);
+    void setOutput(String id, Data output);
 
     /**
      * Updates the period start time of a {@link WorkSpec}.
@@ -211,14 +211,14 @@
 
     /**
      * Gets all inputs coming from prerequisites for a particular {@link WorkSpec}.  These are
-     * {@link Arguments} set via {@code Worker#setOutput()}.
+     * {@link Data} set via {@code Worker#setOutputData()}.
      *
      * @param id The {@link WorkSpec} identifier
      * @return A list of all inputs coming from prerequisites for {@code id}
      */
     @Query("SELECT output FROM workspec WHERE id IN "
             + "(SELECT prerequisite_id FROM dependency WHERE work_spec_id=:id)")
-    List<Arguments> getInputsFromPrerequisites(String id);
+    List<Data> getInputsFromPrerequisites(String id);
 
     /**
      * Retrieves work ids for unfinished work with a given tag.
diff --git a/work/workmanager/src/main/java/androidx/work/impl/utils/EnqueueRunnable.java b/work/workmanager/src/main/java/androidx/work/impl/utils/EnqueueRunnable.java
index 0dc65c5..940e666 100644
--- a/work/workmanager/src/main/java/androidx/work/impl/utils/EnqueueRunnable.java
+++ b/work/workmanager/src/main/java/androidx/work/impl/utils/EnqueueRunnable.java
@@ -32,9 +32,9 @@
 import android.support.annotation.VisibleForTesting;
 import android.text.TextUtils;
 
-import androidx.work.Arguments;
 import androidx.work.BaseWork;
 import androidx.work.Constraints;
+import androidx.work.Data;
 import androidx.work.ExistingWorkPolicy;
 import androidx.work.State;
 import androidx.work.impl.Schedulers;
@@ -284,12 +284,12 @@
         Constraints constraints = workSpec.constraints;
         if (constraints.requiresBatteryNotLow() || constraints.requiresStorageNotLow()) {
             String workerClassName = workSpec.workerClassName;
-            Arguments.Builder builder = new Arguments.Builder();
+            Data.Builder builder = new Data.Builder();
             // Copy all arguments
-            builder.putAll(workSpec.arguments)
+            builder.putAll(workSpec.input)
                     .putString(ARGUMENT_CLASS_NAME, workerClassName);
             workSpec.workerClassName = ConstraintTrackingWorker.class.getName();
-            workSpec.arguments = builder.build();
+            workSpec.input = builder.build();
         }
     }
 }
diff --git a/work/workmanager/src/main/java/androidx/work/impl/workers/ConstraintTrackingWorker.java b/work/workmanager/src/main/java/androidx/work/impl/workers/ConstraintTrackingWorker.java
index 5d31d21..87b4cd7 100644
--- a/work/workmanager/src/main/java/androidx/work/impl/workers/ConstraintTrackingWorker.java
+++ b/work/workmanager/src/main/java/androidx/work/impl/workers/ConstraintTrackingWorker.java
@@ -64,18 +64,18 @@
 
     @Override
     public WorkerResult doWork() {
-        String className = getArguments().getString(ARGUMENT_CLASS_NAME, null);
+        String className = getInputData().getString(ARGUMENT_CLASS_NAME, null);
         if (TextUtils.isEmpty(className)) {
             Logger.debug(TAG, "No worker to delegate to.");
             return WorkerResult.FAILURE;
         }
-        // Instantiate the delegated worker. Use the same workSpecId, and the same Arguments
-        // as this Worker's Arguments are a superset of the delegate's Worker's Arguments.
+        // Instantiate the delegated worker. Use the same workSpecId, and the same Data
+        // as this Worker's Data are a superset of the delegate's Worker's Data.
         mDelegate = WorkerWrapper.workerFromClassName(
                 getAppContext(),
                 className,
                 getId(),
-                getArguments(),
+                getInputData(),
                 getRuntimeExtras());
 
         if (mDelegate == null) {
@@ -105,7 +105,7 @@
                     if (mAreConstraintsUnmet) {
                         return WorkerResult.RETRY;
                     } else {
-                        setOutput(mDelegate.getOutput());
+                        setOutputData(mDelegate.getOutputData());
                         return result;
                     }
                 }
diff --git a/work/workmanager/src/main/java/androidx/work/impl/workers/JoinWorker.java b/work/workmanager/src/main/java/androidx/work/impl/workers/JoinWorker.java
index ad04256..45d6262 100644
--- a/work/workmanager/src/main/java/androidx/work/impl/workers/JoinWorker.java
+++ b/work/workmanager/src/main/java/androidx/work/impl/workers/JoinWorker.java
@@ -30,7 +30,7 @@
 public class JoinWorker extends Worker {
     @Override
     public WorkerResult doWork() {
-        setOutput(getArguments());
+        setOutputData(getInputData());
         return WorkerResult.SUCCESS;
     }
 }
diff --git a/work/workmanager/src/test/java/androidx/work/ArrayCreatingInputMergerTest.java b/work/workmanager/src/test/java/androidx/work/ArrayCreatingInputMergerTest.java
index 127f85f..a5f464a 100644
--- a/work/workmanager/src/test/java/androidx/work/ArrayCreatingInputMergerTest.java
+++ b/work/workmanager/src/test/java/androidx/work/ArrayCreatingInputMergerTest.java
@@ -37,21 +37,21 @@
     private static final Long VALUE_LONG = Long.MAX_VALUE;
 
     ArrayCreatingInputMerger mArrayCreatingInputMerger;
-    Arguments mArgumentsWithIntArray;
-    Arguments mArgumentsWithInt;
-    Arguments mArgumentsWithLong;
+    Data mDataWithIntArray;
+    Data mDataWithInt;
+    Data mDataWithLong;
 
     @Before
     public void setUp() {
         mArrayCreatingInputMerger = new ArrayCreatingInputMerger();
-        mArgumentsWithIntArray = new Arguments.Builder().putIntArray(KEY, VALUE_INT_ARRAY).build();
-        mArgumentsWithInt = new Arguments.Builder().putInt(KEY, VALUE_INT).build();
-        mArgumentsWithLong = new Arguments.Builder().putLong(KEY, VALUE_LONG).build();
+        mDataWithIntArray = new Data.Builder().putIntArray(KEY, VALUE_INT_ARRAY).build();
+        mDataWithInt = new Data.Builder().putInt(KEY, VALUE_INT).build();
+        mDataWithLong = new Data.Builder().putLong(KEY, VALUE_LONG).build();
     }
 
     @Test
     public void testMerge_singleArgument() {
-        Arguments output = getOutputFor(mArgumentsWithInt);
+        Data output = getOutputFor(mDataWithInt);
         assertThat(output.size(), is(1));
         int[] outputArray = output.getIntArray(KEY);
         assertThat(outputArray.length, is(1));
@@ -60,7 +60,7 @@
 
     @Test
     public void testMerge_concatenatesNonArrays() {
-        Arguments output = getOutputFor(mArgumentsWithInt, mArgumentsWithInt);
+        Data output = getOutputFor(mDataWithInt, mDataWithInt);
         assertThat(output.size(), is(1));
         int[] outputArray = output.getIntArray(KEY);
         assertThat(outputArray.length, is(2));
@@ -70,7 +70,7 @@
 
     @Test
     public void testMerge_concatenatesArrays() {
-        Arguments output = getOutputFor(mArgumentsWithIntArray, mArgumentsWithIntArray);
+        Data output = getOutputFor(mDataWithIntArray, mDataWithIntArray);
         assertThat(output.size(), is(1));
         int[] outputArray = output.getIntArray(KEY);
         assertThat(outputArray.length, is(VALUE_INT_ARRAY.length * 2));
@@ -83,7 +83,7 @@
 
     @Test
     public void testMerge_concatenatesArrayAndPrimitive() {
-        Arguments output = getOutputFor(mArgumentsWithIntArray, mArgumentsWithInt);
+        Data output = getOutputFor(mDataWithIntArray, mDataWithInt);
         assertThat(output.size(), is(1));
         int[] outputArray = output.getIntArray(KEY);
         assertThat(outputArray.length, is(VALUE_INT_ARRAY.length + 1));
@@ -97,14 +97,14 @@
     public void testMerge_throwsIllegalStateExceptionOnDifferentTypes() {
         Throwable throwable = null;
         try {
-            Arguments output = getOutputFor(mArgumentsWithInt, mArgumentsWithLong);
+            Data output = getOutputFor(mDataWithInt, mDataWithLong);
         } catch (Throwable t) {
             throwable = t;
         }
         assertThat(throwable, instanceOf(IllegalStateException.class));
     }
 
-    private Arguments getOutputFor(Arguments... arguments) {
-        return mArrayCreatingInputMerger.merge(Arrays.asList(arguments));
+    private Data getOutputFor(Data... inputs) {
+        return mArrayCreatingInputMerger.merge(Arrays.asList(inputs));
     }
 }
diff --git a/work/workmanager/src/test/java/androidx/work/ArgumentsTest.java b/work/workmanager/src/test/java/androidx/work/DataTest.java
similarity index 64%
rename from work/workmanager/src/test/java/androidx/work/ArgumentsTest.java
rename to work/workmanager/src/test/java/androidx/work/DataTest.java
index 19f12c9..fa14c75 100644
--- a/work/workmanager/src/test/java/androidx/work/ArgumentsTest.java
+++ b/work/workmanager/src/test/java/androidx/work/DataTest.java
@@ -28,62 +28,62 @@
 import java.io.IOException;
 
 @SmallTest
-public class ArgumentsTest {
+public class DataTest {
     private static final String KEY1 = "key1";
     private static final String KEY2 = "key2";
 
     @Test
     public void testSize_noArguments() {
-        Arguments args = new Arguments.Builder().build();
-        assertThat(args.size(), is(0));
+        Data data = new Data.Builder().build();
+        assertThat(data.size(), is(0));
     }
 
     @Test
     public void testSize_hasArguments() {
-        Arguments args = new Arguments.Builder().putBoolean(KEY1, true).build();
-        assertThat(args.size(), is(1));
+        Data data = new Data.Builder().putBoolean(KEY1, true).build();
+        assertThat(data.size(), is(1));
     }
 
     @Test
     public void testSerializeEmpty() throws IOException, ClassNotFoundException {
-        Arguments args = Arguments.EMPTY;
+        Data data = Data.EMPTY;
 
-        byte[] byteArray = Arguments.toByteArray(args);
-        Arguments restoredArgs = Arguments.fromByteArray(byteArray);
+        byte[] byteArray = Data.toByteArray(data);
+        Data restoredData = Data.fromByteArray(byteArray);
 
-        assertThat(restoredArgs, is(args));
+        assertThat(restoredData, is(data));
     }
 
     @Test
     public void testSerializeString() throws IOException, ClassNotFoundException {
         String expectedValue1 = "value1";
         String expectedValue2 = "value2";
-        Arguments args = new Arguments.Builder()
+        Data data = new Data.Builder()
                 .putString(KEY1, expectedValue1)
                 .putString(KEY2, expectedValue2)
                 .build();
 
-        byte[] byteArray = Arguments.toByteArray(args);
-        Arguments restoredArgs = Arguments.fromByteArray(byteArray);
+        byte[] byteArray = Data.toByteArray(data);
+        Data restoredData = Data.fromByteArray(byteArray);
 
-        assertThat(restoredArgs, is(args));
+        assertThat(restoredData, is(data));
     }
 
     @Test
     public void testSerializeIntArray() throws IOException, ClassNotFoundException {
         int[] expectedValue1 = new int[]{1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
         int[] expectedValue2 = new int[]{10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
-        Arguments args = new Arguments.Builder()
+        Data data = new Data.Builder()
                 .putIntArray(KEY1, expectedValue1)
                 .putIntArray(KEY2, expectedValue2)
                 .build();
 
-        byte[] byteArray = Arguments.toByteArray(args);
-        Arguments restoredArgs = Arguments.fromByteArray(byteArray);
+        byte[] byteArray = Data.toByteArray(data);
+        Data restoredData = Data.fromByteArray(byteArray);
 
-        assertThat(restoredArgs, is(notNullValue()));
-        assertThat(restoredArgs.size(), is(2));
-        assertThat(restoredArgs.getIntArray(KEY1), is(equalTo(expectedValue1)));
-        assertThat(restoredArgs.getIntArray(KEY2), is(equalTo(expectedValue2)));
+        assertThat(restoredData, is(notNullValue()));
+        assertThat(restoredData.size(), is(2));
+        assertThat(restoredData.getIntArray(KEY1), is(equalTo(expectedValue1)));
+        assertThat(restoredData.getIntArray(KEY2), is(equalTo(expectedValue2)));
     }
 }
diff --git a/work/workmanager/src/test/java/androidx/work/OverwritingInputMergerTest.java b/work/workmanager/src/test/java/androidx/work/OverwritingInputMergerTest.java
index 397c849..a6fcd31 100644
--- a/work/workmanager/src/test/java/androidx/work/OverwritingInputMergerTest.java
+++ b/work/workmanager/src/test/java/androidx/work/OverwritingInputMergerTest.java
@@ -41,8 +41,8 @@
         String key = "key";
         String value = "value";
 
-        Arguments arguments = new Arguments.Builder().putString(key, value).build();
-        Arguments output = getOutputFor(arguments);
+        Data input = new Data.Builder().putString(key, value).build();
+        Data output = getOutputFor(input);
 
         assertThat(output.size(), is(1));
         assertThat(output.getString(key, null), is(value));
@@ -58,16 +58,16 @@
         String key3 = "key3";
         String value3 = "value3";
 
-        Arguments arguments1 = new Arguments.Builder()
+        Data input1 = new Data.Builder()
                 .putString(key1, value1)
                 .putString(key2, value2)
                 .build();
-        Arguments arguments2 = new Arguments.Builder()
+        Data input2 = new Data.Builder()
                 .putString(key1, value1a)
                 .putString(key3, value3)
                 .build();
 
-        Arguments output = getOutputFor(arguments1, arguments2);
+        Data output = getOutputFor(input1, input2);
 
         assertThat(output.size(), is(3));
         assertThat(output.getString(key1, null), is(value1a));
@@ -75,7 +75,7 @@
         assertThat(output.getString(key3, null), is(value3));
     }
 
-    private Arguments getOutputFor(Arguments... arguments) {
-        return mOverwritingInputMerger.merge(Arrays.asList(arguments));
+    private Data getOutputFor(Data... inputs) {
+        return mOverwritingInputMerger.merge(Arrays.asList(inputs));
     }
 }