am 0552d336: DO NOT MERGE: InstalledAppDetails: "Clear defaults" button now clears USB service settings

* commit '0552d3366487b27c619c055a04c81b8af0b84d33':
  DO NOT MERGE: InstalledAppDetails: "Clear defaults" button now clears USB service settings
This commit is contained in:
Mike Lockwood
2011-03-02 15:38:51 -08:00
committed by Android Git Automerger
2 changed files with 20 additions and 3 deletions

View File

@@ -41,6 +41,7 @@
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
<uses-permission android:name="com.android.launcher.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.MOVE_PACKAGE" />
<uses-permission android:name="android.permission.MANAGE_USB" />
<application android:label="@string/settings_label"
android:icon="@drawable/ic_launcher_settings"

View File

@@ -37,10 +37,12 @@ import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.pm.PackageManager.NameNotFoundException;
import android.hardware.usb.IUsbManager;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.RemoteException;
import android.os.ServiceManager;
@@ -74,6 +76,7 @@ public class InstalledAppDetails extends Activity
private static final boolean localLOGV = false;
private PackageManager mPm;
private IUsbManager mUsbManager;
private ApplicationsState mState;
private ApplicationsState.AppEntry mAppEntry;
private PackageInfo mPackageInfo;
@@ -294,6 +297,8 @@ public class InstalledAppDetails extends Activity
mState = ApplicationsState.getInstance(getApplication());
mPm = getPackageManager();
IBinder b = ServiceManager.getService(Context.USB_SERVICE);
mUsbManager = IUsbManager.Stub.asInterface(b);
mCanBeOnSdCardChecker = new CanBeOnSdCardChecker();
@@ -421,8 +426,14 @@ public class InstalledAppDetails extends Activity
List<IntentFilter> intentList = new ArrayList<IntentFilter>();
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);
@@ -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) {