Allow device with preloaded accounts to run DO tests in CtsVerifier

Problem:
Some OEM have prealoaded accounts in their device, which makes
set-device-owner failed to run. To workaround this, we allow
set-device-owner to run if the target device admin is test-only.
However, we don't wanna to make the entire CtsVerifier app test-only,
as we may break some other tests.

Solution
Introduce a dummy device owner, and update the test instruction to ask
tester to set this new app to DO instead. This app monitors DO change,
and transfer the ownership to CtsVerifier automatically.

Test:
1. Add an account with DEVICE_OR_PROFILE_OWNER_ALLOWED ->
   try to run the set-device-owner command. Verify that CtsVerifier
   eventually becomes device owner. And tries to run a test that requires
   DO privilege.

FIXES: 64392045

Change-Id: I5cc5b417a5db9476a2b2d30315e5174f269a82d5
diff --git a/apps/EmptyDeviceOwner/README b/apps/EmptyDeviceOwner/README
new file mode 100644
index 0000000..5bcba3b
--- /dev/null
+++ b/apps/EmptyDeviceOwner/README
@@ -0,0 +1,20 @@
+Copyright (C) 2018 The Android Open Source Project
+
+Licensed under the Apache Licence, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+This package is used to generate CtsEmptyDeviceOwner.apk that is used in assets of CtsVerifier.
+To update the apk file, run the following commands from your android checkout:
+cd $ANDROID_BUILD_TOP
+make -j32 CtsEmptyDeviceOwner
+cp $OUT/data/app/CtsEmptyDeviceOwner/CtsEmptyDeviceOwner.apk \
+cts/apps/CtsVerifier/assets/apk/CtsEmptyDeviceOwner.apk