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) {