diff --git a/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java b/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java
index 559daea..95c9b70 100644
--- a/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java
+++ b/samples/ApiDemos/src/com/example/android/apis/app/DeviceAdminSample.java
@@ -847,7 +847,7 @@
                         builder.show();
                         return;
                     }
-                    if (mDPM.getStorageEncryption(mDeviceAdminSample) ==
+                    if (mDPM.getStorageEncryptionStatus() ==
                             DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED) {
                         AlertDialog.Builder builder = new AlertDialog.Builder(Controller.this);
                         builder.setMessage("Encryption is unsupported on this device.");
@@ -866,8 +866,18 @@
         };
 
         private void updateEncryptionStatus() {
+            boolean sampleAdminStatusValue = mDPM.getStorageEncryption(mDeviceAdminSample);
+            String sampleAdminStatus = Boolean.toString(sampleAdminStatusValue);
+            boolean adminStatusValue = mDPM.getStorageEncryption(null);
+            String adminStatus = Boolean.toString(adminStatusValue);
+            int deviceStatusCode = mDPM.getStorageEncryptionStatus();
+            String deviceStatus = statusCodeToString(deviceStatusCode);
+            mEncryptionStatus.setText("sample:" + sampleAdminStatus + " admins:" + adminStatus
+                    + " device:" + deviceStatus);
+        }
+
+        private String statusCodeToString(int newStatusCode) {
             String newStatus = "unknown";
-            int newStatusCode = mDPM.getStorageEncryption(mDeviceAdminSample);
             switch (newStatusCode) {
                 case DevicePolicyManager.ENCRYPTION_STATUS_UNSUPPORTED:
                     newStatus = "unsupported";
@@ -875,9 +885,6 @@
                 case DevicePolicyManager.ENCRYPTION_STATUS_INACTIVE:
                     newStatus = "inactive";
                     break;
-                case DevicePolicyManager.ENCRYPTION_STATUS_REQUESTED:
-                    newStatus = "requested";
-                    break;
                 case DevicePolicyManager.ENCRYPTION_STATUS_ACTIVATING:
                     newStatus = "activating";
                     break;
@@ -885,7 +892,7 @@
                     newStatus = "active";
                     break;
             }
-            mEncryptionStatus.setText(newStatus);
+            return newStatus;
         }
     }
 }
