Make UID parameter an int

The caller's uid is also acquired at an earlier stage to make mistakes a
little less likely.

Change-Id: Icbf6e2e97cb6301b968b3eb8b3f9a46331f7983e
diff --git a/src/com/android/keychain/KeyChainActivity.java b/src/com/android/keychain/KeyChainActivity.java
index 6b876c4..7b31702 100644
--- a/src/com/android/keychain/KeyChainActivity.java
+++ b/src/com/android/keychain/KeyChainActivity.java
@@ -17,6 +17,7 @@
 package com.android.keychain;
 
 import android.app.Activity;
+import android.app.ActivityManagerNative;
 import android.app.admin.IDevicePolicyManager;
 import android.app.AlertDialog;
 import android.app.Dialog;
@@ -182,10 +183,10 @@
         String alias = getIntent().getStringExtra(KeyChain.EXTRA_ALIAS);
 
         try {
-            devicePolicyManager.choosePrivateKeyAlias(host, port, url, alias, callback);
+            int uid = ActivityManagerNative.getDefault().getLaunchedFromUid(getActivityToken());
+            devicePolicyManager.choosePrivateKeyAlias(uid, host, port, url, alias, callback);
         } catch (RemoteException e) {
-            Log.e(TAG, "Could not bind to DevicePolicyManagerService", e);
-
+            Log.e(TAG, "Unable to request alias from DevicePolicyManager", e);
             // Proceed without a suggested alias.
             try {
                 callback.alias(null);