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:
@@ -41,6 +41,7 @@
|
|||||||
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
|
<uses-permission android:name="com.android.launcher.permission.READ_SETTINGS" />
|
||||||
<uses-permission android:name="com.android.launcher.permission.WRITE_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.MOVE_PACKAGE" />
|
||||||
|
<uses-permission android:name="android.permission.MANAGE_USB" />
|
||||||
|
|
||||||
<application android:label="@string/settings_label"
|
<application android:label="@string/settings_label"
|
||||||
android:icon="@drawable/ic_launcher_settings"
|
android:icon="@drawable/ic_launcher_settings"
|
||||||
|
@@ -37,10 +37,12 @@ import android.content.pm.PackageInfo;
|
|||||||
import android.content.pm.PackageManager;
|
import android.content.pm.PackageManager;
|
||||||
import android.content.pm.ResolveInfo;
|
import android.content.pm.ResolveInfo;
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
import android.content.pm.PackageManager.NameNotFoundException;
|
||||||
|
import android.hardware.usb.IUsbManager;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
|
import android.os.IBinder;
|
||||||
import android.os.Message;
|
import android.os.Message;
|
||||||
import android.os.RemoteException;
|
import android.os.RemoteException;
|
||||||
import android.os.ServiceManager;
|
import android.os.ServiceManager;
|
||||||
@@ -74,6 +76,7 @@ public class InstalledAppDetails extends Activity
|
|||||||
private static final boolean localLOGV = false;
|
private static final boolean localLOGV = false;
|
||||||
|
|
||||||
private PackageManager mPm;
|
private PackageManager mPm;
|
||||||
|
private IUsbManager mUsbManager;
|
||||||
private ApplicationsState mState;
|
private ApplicationsState mState;
|
||||||
private ApplicationsState.AppEntry mAppEntry;
|
private ApplicationsState.AppEntry mAppEntry;
|
||||||
private PackageInfo mPackageInfo;
|
private PackageInfo mPackageInfo;
|
||||||
@@ -294,6 +297,8 @@ public class InstalledAppDetails extends Activity
|
|||||||
|
|
||||||
mState = ApplicationsState.getInstance(getApplication());
|
mState = ApplicationsState.getInstance(getApplication());
|
||||||
mPm = getPackageManager();
|
mPm = getPackageManager();
|
||||||
|
IBinder b = ServiceManager.getService(Context.USB_SERVICE);
|
||||||
|
mUsbManager = IUsbManager.Stub.asInterface(b);
|
||||||
|
|
||||||
mCanBeOnSdCardChecker = new CanBeOnSdCardChecker();
|
mCanBeOnSdCardChecker = new CanBeOnSdCardChecker();
|
||||||
|
|
||||||
@@ -421,8 +426,14 @@ public class InstalledAppDetails extends Activity
|
|||||||
List<IntentFilter> intentList = new ArrayList<IntentFilter>();
|
List<IntentFilter> intentList = new ArrayList<IntentFilter>();
|
||||||
mPm.getPreferredActivities(intentList, prefActList, packageName);
|
mPm.getPreferredActivities(intentList, prefActList, packageName);
|
||||||
if(localLOGV) Log.i(TAG, "Have "+prefActList.size()+" number of activities in prefered list");
|
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);
|
TextView autoLaunchView = (TextView)findViewById(R.id.auto_launch);
|
||||||
if (prefActList.size() <= 0) {
|
if (prefActList.size() <= 0 && !hasUsbDefaults) {
|
||||||
// Disable clear activities button
|
// Disable clear activities button
|
||||||
autoLaunchView.setText(R.string.auto_launch_disable_text);
|
autoLaunchView.setText(R.string.auto_launch_disable_text);
|
||||||
mActivitiesButton.setEnabled(false);
|
mActivitiesButton.setEnabled(false);
|
||||||
@@ -740,6 +751,11 @@ public class InstalledAppDetails extends Activity
|
|||||||
}
|
}
|
||||||
} else if(v == mActivitiesButton) {
|
} else if(v == mActivitiesButton) {
|
||||||
mPm.clearPackagePreferredActivities(packageName);
|
mPm.clearPackagePreferredActivities(packageName);
|
||||||
|
try {
|
||||||
|
mUsbManager.clearDefaults(packageName, mAppEntry.info.uid);
|
||||||
|
} catch (RemoteException e) {
|
||||||
|
Log.e(TAG, "mUsbManager.clearDefaults", e);
|
||||||
|
}
|
||||||
mActivitiesButton.setEnabled(false);
|
mActivitiesButton.setEnabled(false);
|
||||||
} else if(v == mClearDataButton) {
|
} else if(v == mClearDataButton) {
|
||||||
if (mAppEntry.info.manageSpaceActivityName != null) {
|
if (mAppEntry.info.manageSpaceActivityName != null) {
|
||||||
|
Reference in New Issue
Block a user