Merge cherrypicks of [5610460, 5610582, 5610249, 5610250, 5610113, 5610163, 5610980, 5610981, 5610982, 5610983, 5610984, 5610461, 5610462, 5610463, 5610464, 5610114, 5610076, 5610985, 5610986, 5610251, 5610583] into oc-m8-release

Change-Id: Iacafd8bf37d65c918e85246cf25486a7af603f97
diff --git a/src/com/android/managedprovisioning/task/InstallPackageTask.java b/src/com/android/managedprovisioning/task/InstallPackageTask.java
index 1411430..909951b 100644
--- a/src/com/android/managedprovisioning/task/InstallPackageTask.java
+++ b/src/com/android/managedprovisioning/task/InstallPackageTask.java
@@ -27,7 +27,6 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.managedprovisioning.common.ProvisionLogger;
 import com.android.managedprovisioning.R;
-import com.android.managedprovisioning.common.SettingsFacade;
 import com.android.managedprovisioning.model.ProvisioningParams;
 
 import java.io.File;
@@ -40,11 +39,9 @@
     public static final int ERROR_PACKAGE_INVALID = 0;
     public static final int ERROR_INSTALLATION_FAILED = 1;
 
-    private final SettingsFacade mSettingsFacade;
     private final DownloadPackageTask mDownloadPackageTask;
 
     private PackageManager mPm;
-    private boolean mInitialPackageVerifierEnabled;
 
     /**
      * Create an InstallPackageTask. When run, this will attempt to install the device admin package
@@ -57,20 +54,9 @@
             Context context,
             ProvisioningParams params,
             Callback callback) {
-        this(new SettingsFacade(), downloadPackageTask, context, params, callback);
-    }
-
-    @VisibleForTesting
-    InstallPackageTask(
-            SettingsFacade settingsFacade,
-            DownloadPackageTask downloadPackageTask,
-            Context context,
-            ProvisioningParams params,
-            Callback callback) {
         super(context, params, callback);
 
         mPm = context.getPackageManager();
-        mSettingsFacade = checkNotNull(settingsFacade);
         mDownloadPackageTask = checkNotNull(downloadPackageTask);
     }
 
@@ -94,16 +80,12 @@
         String packageName = mProvisioningParams.inferDeviceAdminPackageName();
 
         ProvisionLogger.logi("Installing package");
-        mInitialPackageVerifierEnabled = mSettingsFacade.isPackageVerifierEnabled(mContext);
         if (TextUtils.isEmpty(packageLocation)) {
             // Do not log time if not installing any package, as that isn't useful.
             success();
             return;
         }
 
-        // Temporarily turn off package verification.
-        mSettingsFacade.setPackageVerifierEnabled(mContext, false);
-
         // Allow for replacing an existing package.
         // Needed in case this task is performed multiple times.
         mPm.installPackage(Uri.parse("file://" + packageLocation),
@@ -128,7 +110,6 @@
 
         @Override
         public void packageInstalled(String packageName, int returnCode) {
-            mSettingsFacade.setPackageVerifierEnabled(mContext, mInitialPackageVerifierEnabled);
             if (packageName != null && !packageName.equals(mPackageName))  {
                 ProvisionLogger.loge("Package doesn't have expected package name.");
                 error(ERROR_PACKAGE_INVALID);
diff --git a/tests/instrumentation/src/com/android/managedprovisioning/task/InstallPackageTaskTest.java b/tests/instrumentation/src/com/android/managedprovisioning/task/InstallPackageTaskTest.java
index f2bc4d9..8b76e2b 100644
--- a/tests/instrumentation/src/com/android/managedprovisioning/task/InstallPackageTaskTest.java
+++ b/tests/instrumentation/src/com/android/managedprovisioning/task/InstallPackageTaskTest.java
@@ -35,7 +35,6 @@
 import android.test.AndroidTestCase;
 import android.test.suitebuilder.annotation.SmallTest;
 
-import com.android.managedprovisioning.common.SettingsFacade;
 import com.android.managedprovisioning.model.ProvisioningParams;
 
 import org.mockito.ArgumentCaptor;
@@ -57,7 +56,6 @@
     @Mock private AbstractProvisioningTask.Callback mCallback;
     @Mock private DownloadPackageTask mDownloadPackageTask;
     private InstallPackageTask mTask;
-    private final SettingsFacade mSettingsFacade = new SettingsFacadeStub();
 
     @Override
     protected void setUp() throws Exception {
@@ -69,8 +67,7 @@
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         when(mContext.getPackageName()).thenReturn(getContext().getPackageName());
 
-        mTask = new InstallPackageTask(mSettingsFacade, mDownloadPackageTask, mContext, TEST_PARAMS,
-                mCallback);
+        mTask = new InstallPackageTask(mDownloadPackageTask, mContext, TEST_PARAMS, mCallback);
     }
 
     @SmallTest
@@ -88,7 +85,6 @@
                 anyString());
         verify(mCallback).onSuccess(mTask);
         verifyNoMoreInteractions(mCallback);
-        assertTrue(mSettingsFacade.isPackageVerifierEnabled(mContext));
     }
 
     @SmallTest
@@ -108,7 +104,6 @@
         // THEN we receive a success callback
         verify(mCallback).onSuccess(mTask);
         verifyNoMoreInteractions(mCallback);
-        assertTrue(mSettingsFacade.isPackageVerifierEnabled(mContext));
     }
 
     @SmallTest
@@ -128,7 +123,6 @@
         // THEN we get a success callback, because an existing version of the DPC is present
         verify(mCallback).onSuccess(mTask);
         verifyNoMoreInteractions(mCallback);
-        assertTrue(mSettingsFacade.isPackageVerifierEnabled(mContext));
     }
 
     @SmallTest
@@ -148,7 +142,6 @@
         // THEN we get a success callback, because an existing version of the DPC is present
         verify(mCallback).onError(mTask, ERROR_INSTALLATION_FAILED);
         verifyNoMoreInteractions(mCallback);
-        assertTrue(mSettingsFacade.isPackageVerifierEnabled(mContext));
     }
 
     @SmallTest
@@ -168,7 +161,6 @@
         // THEN we get a success callback, because an existing version of the DPC is present
         verify(mCallback).onError(mTask, ERROR_PACKAGE_INVALID);
         verifyNoMoreInteractions(mCallback);
-        assertTrue(mSettingsFacade.isPackageVerifierEnabled(mContext));
     }
 
     private IPackageInstallObserver verifyPackageInstalled() {
@@ -185,18 +177,4 @@
         assertTrue(0 != (flagsCaptor.getValue() & PackageManager.INSTALL_REPLACE_EXISTING));
         return observerCaptor.getValue();
     }
-
-    private static class SettingsFacadeStub extends SettingsFacade {
-        private boolean mPackageVerifierEnabled = true;
-
-        @Override
-        public boolean isPackageVerifierEnabled(Context c) {
-            return mPackageVerifierEnabled;
-        }
-
-        @Override
-        public void setPackageVerifierEnabled(Context c, boolean packageVerifierEnabled) {
-            mPackageVerifierEnabled = packageVerifierEnabled;
-        }
-    }
 }