title: WorkManager cannot find required zero-argument constructor
body: <p>I'm using <code>WorkManager</code> <code>1.0.0-alpha02</code> found in the <code>android.arch.work:work-runtime</code> dependency to query a web page every one minute (the querying code is excluded for this example as it's irrelevant).</p>
  
  <p>When I use <code>WorkManager</code> like this:</p>
  
  <pre><code>WorkManager
                  .getInstance()
                  .enqueue(
                          new PeriodicWorkRequest.Builder(
                                  MessageWorker.class,
                                  1,
                                  TimeUnit.MINUTES
                          )
                                  .setConstraints(
                                          new Constraints.Builder()
                                                  .setRequiredNetworkType(NetworkType.CONNECTED)
                                                  .build()
                                  )
                                  .build()
                  );
  
  private class MessageWorker extends Worker {
          public MessageWorker() {
          }
  
          @NonNull
          @Override
          public WorkerResult doWork() {
              // Do stuff
              return WorkerResult.SUCCESS;
          }
  }
  </code></pre>
  
  <p>it gives this error message:</p>
  
  <pre><code>05-31 17:50:05.645 11749-12168/com.neelkamath.webview E/WorkerWrapper: Trouble instantiating com.neelkamath.webview.MainActivity$MessageWorker
      java.lang.InstantiationException: java.lang.Class&lt;com.neelkamath.webview.MainActivity$MessageWorker&gt; has no zero argument constructor
          at java.lang.Class.newInstance(Native Method)
          at androidx.work.impl.WorkerWrapper.workerFromClassName(WorkerWrapper.java:405)
          at androidx.work.impl.WorkerWrapper.workerFromWorkSpec(WorkerWrapper.java:377)
          at androidx.work.impl.WorkerWrapper.run(WorkerWrapper.java:132)
          at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
          at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
          at java.lang.Thread.run(Thread.java:764)
  05-31 17:50:05.645 11749-12168/com.neelkamath.webview E/WorkerWrapper: Could for create Worker com.neelkamath.webview.MainActivity$MessageWorker
  </code></pre>
  
  <p>I have tried the following constructors to no avail:</p>
  
  <ul>
  <li>no constructor </li>
  <li>public </li>
  <li>private</li>
  <li>constructor with a non-empty body with the only statement as <code>super();</code></li>
  </ul>