diff --git a/AndroidManifest.xml b/AndroidManifest.xml index 6746ac93897..d1ba5084584 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -41,6 +41,7 @@ + intentList = new ArrayList(); mPm.getPreferredActivities(intentList, prefActList, packageName); if(localLOGV) Log.i(TAG, "Have "+prefActList.size()+" number of activities in prefered list"); + boolean hasUsbDefaults = false; + try { + hasUsbDefaults = mUsbManager.hasDefaults(packageName, mAppEntry.info.uid); + } catch (RemoteException e) { + Log.e(TAG, "mUsbManager.hasDefaults", e); + } TextView autoLaunchView = (TextView)findViewById(R.id.auto_launch); - if (prefActList.size() <= 0) { + if (prefActList.size() <= 0 && !hasUsbDefaults) { // Disable clear activities button autoLaunchView.setText(R.string.auto_launch_disable_text); mActivitiesButton.setEnabled(false); @@ -431,7 +442,7 @@ public class InstalledAppDetails extends Activity mActivitiesButton.setEnabled(true); mActivitiesButton.setOnClickListener(this); } - + // Security permissions section LinearLayout permsView = (LinearLayout) findViewById(R.id.permissions_section); AppSecurityPermissions asp = new AppSecurityPermissions(this, packageName); @@ -740,6 +751,11 @@ public class InstalledAppDetails extends Activity } } else if(v == mActivitiesButton) { mPm.clearPackagePreferredActivities(packageName); + try { + mUsbManager.clearDefaults(packageName, mAppEntry.info.uid); + } catch (RemoteException e) { + Log.e(TAG, "mUsbManager.clearDefaults", e); + } mActivitiesButton.setEnabled(false); } else if(v == mClearDataButton) { if (mAppEntry.info.manageSpaceActivityName != null) {