From 9d6d92b33ebf1c91aed47bd759ce78a3e06afff5 Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Sun, 27 Feb 2011 09:05:10 -0800 Subject: [PATCH] InstalledAppDetails: "Clear defaults" button now clears USB service settings The USB service caches the preferred activity preferences for USB devices and accessories and allows permission to access the hardware based on the user's selection. The "Clear defaults" button can now be used to clear these settings. Change-Id: I307c118cb0ce06362e289e35bca93a47ce4631a5 Signed-off-by: Mike Lockwood --- AndroidManifest.xml | 1 + .../applications/InstalledAppDetails.java | 21 +++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index e092bc90489..a8f978774b8 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -48,6 +48,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)mRootView.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); @@ -784,6 +796,11 @@ public class InstalledAppDetails extends Fragment } } 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) {