Fix bug #17936169 subsettings activity crashes on emulator for android-21

- prevent the NPE by checking if the UsbManager is not null

Change-Id: I65114ffe66f90d6de66bb98ad841df64840278ce
diff --git a/src/com/android/settings/applications/InstalledAppDetails.java b/src/com/android/settings/applications/InstalledAppDetails.java
index 4b1bc10..4edb45f 100755
--- a/src/com/android/settings/applications/InstalledAppDetails.java
+++ b/src/com/android/settings/applications/InstalledAppDetails.java
@@ -728,7 +728,9 @@
             Log.i(TAG, "Have " + prefActList.size() + " number of activities in preferred list");
         boolean hasUsbDefaults = false;
         try {
-            hasUsbDefaults = mUsbManager.hasDefaults(packageName, UserHandle.myUserId());
+            if (mUsbManager != null) {
+                hasUsbDefaults = mUsbManager.hasDefaults(packageName, UserHandle.myUserId());
+            }
         } catch (RemoteException e) {
             Log.e(TAG, "mUsbManager.hasDefaults", e);
         }
@@ -1377,17 +1379,19 @@
         } else if(v == mSpecialDisableButton) {
             showDialogInner(DLG_SPECIAL_DISABLE, 0);
         } else if(v == mActivitiesButton) {
-            mPm.clearPackagePreferredActivities(packageName);
-            try {
-                mUsbManager.clearDefaults(packageName, UserHandle.myUserId());
-            } catch (RemoteException e) {
-                Log.e(TAG, "mUsbManager.clearDefaults", e);
+            if (mUsbManager != null) {
+                mPm.clearPackagePreferredActivities(packageName);
+                try {
+                    mUsbManager.clearDefaults(packageName, UserHandle.myUserId());
+                } catch (RemoteException e) {
+                    Log.e(TAG, "mUsbManager.clearDefaults", e);
+                }
+                mAppWidgetManager.setBindAppWidgetPermission(packageName, false);
+                TextView autoLaunchTitleView =
+                        (TextView) mRootView.findViewById(R.id.auto_launch_title);
+                TextView autoLaunchView = (TextView) mRootView.findViewById(R.id.auto_launch);
+                resetLaunchDefaultsUi(autoLaunchTitleView, autoLaunchView);
             }
-            mAppWidgetManager.setBindAppWidgetPermission(packageName, false);
-            TextView autoLaunchTitleView =
-                    (TextView) mRootView.findViewById(R.id.auto_launch_title);
-            TextView autoLaunchView = (TextView) mRootView.findViewById(R.id.auto_launch);
-            resetLaunchDefaultsUi(autoLaunchTitleView, autoLaunchView);
         } else if(v == mClearDataButton) {
             if (mAppEntry.info.manageSpaceActivityName != null) {
                 if (!Utils.isMonkeyRunning()) {