Get encryption working for phones.

I've removed the "special" keyboard from the phone
layouts for now.

Change-Id: I4b18279dafb18ba7cebacfad1b7167e34a7203b4
diff --git a/src/com/android/settings/CryptKeeper.java b/src/com/android/settings/CryptKeeper.java
index edf00d5..20bf7ce 100644
--- a/src/com/android/settings/CryptKeeper.java
+++ b/src/com/android/settings/CryptKeeper.java
@@ -342,9 +342,11 @@
 
         KeyboardView keyboardView = (PasswordEntryKeyboardView) findViewById(R.id.keyboard);
 
-        PasswordEntryKeyboardHelper keyboardHelper = new PasswordEntryKeyboardHelper(this,
-                keyboardView, mPasswordEntry, false);
-        keyboardHelper.setKeyboardMode(PasswordEntryKeyboardHelper.KEYBOARD_MODE_ALPHA);
+        if (keyboardView != null) {
+            PasswordEntryKeyboardHelper keyboardHelper = new PasswordEntryKeyboardHelper(this,
+                    keyboardView, mPasswordEntry, false);
+            keyboardHelper.setKeyboardMode(PasswordEntryKeyboardHelper.KEYBOARD_MODE_ALPHA);
+        }
     }
 
     private IMountService getMountService() {
@@ -357,7 +359,7 @@
 
     @Override
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
-        if (actionId == EditorInfo.IME_NULL) {
+        if (actionId == EditorInfo.IME_NULL || actionId == EditorInfo.IME_ACTION_DONE) {
             // Get the password
             String password = v.getText().toString();
 
diff --git a/src/com/android/settings/CryptKeeperConfirm.java b/src/com/android/settings/CryptKeeperConfirm.java
index ba8ce10..d177cb4 100644
--- a/src/com/android/settings/CryptKeeperConfirm.java
+++ b/src/com/android/settings/CryptKeeperConfirm.java
@@ -62,6 +62,8 @@
                 public void run() {
                     IBinder service = ServiceManager.getService("mount");
                     if (service == null) {
+                        Log.e("CryptKeeper", "Failed to find the mount service");
+                        finish();
                         return;
                     }