summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/java/android/hardware/usb/UsbManager.java39
-rwxr-xr-xservices/java/com/android/server/NotificationManagerService.java3
-rw-r--r--services/java/com/android/server/usb/UsbDeviceManager.java29
3 files changed, 25 insertions, 46 deletions
diff --git a/core/java/android/hardware/usb/UsbManager.java b/core/java/android/hardware/usb/UsbManager.java
index 60b37a1..5994c98 100644
--- a/core/java/android/hardware/usb/UsbManager.java
+++ b/core/java/android/hardware/usb/UsbManager.java
@@ -50,11 +50,20 @@ public class UsbManager {
* This is a sticky broadcast for clients that includes USB connected/disconnected state,
* <ul>
* <li> {@link #USB_CONNECTED} boolean indicating whether USB is connected or disconnected.
- * <li> {@link #USB_CONFIGURATION} a Bundle containing name/value pairs where the name
- * is the name of a USB function and the value is either {@link #USB_FUNCTION_ENABLED}
- * or {@link #USB_FUNCTION_DISABLED}. The possible function names include
- * {@link #USB_FUNCTION_MASS_STORAGE}, {@link #USB_FUNCTION_ADB}, {@link #USB_FUNCTION_RNDIS},
- * {@link #USB_FUNCTION_MTP} and {@link #USB_FUNCTION_ACCESSORY}.
+ * <li> {@link #USB_CONFIGURATION} integer containing current USB configuration
+ * currently zero if not configured, one for configured.
+ * <li> {@link #USB_FUNCTION_MASS_STORAGE} boolean extra indicating whether the
+ * mass storage function is enabled
+ * <li> {@link #USB_FUNCTION_ADB} boolean extra indicating whether the
+ * adb function is enabled
+ * <li> {@link #USB_FUNCTION_RNDIS} boolean extra indicating whether the
+ * RNDIS ethernet function is enabled
+ * <li> {@link #USB_FUNCTION_MTP} boolean extra indicating whether the
+ * MTP function is enabled
+ * <li> {@link #USB_FUNCTION_PTP} boolean extra indicating whether the
+ * PTP function is enabled
+ * <li> {@link #USB_FUNCTION_PTP} boolean extra indicating whether the
+ * accessory function is enabled
* </ul>
*
* {@hide}
@@ -159,30 +168,20 @@ public class UsbManager {
public static final String USB_FUNCTION_MTP = "mtp";
/**
- * Name of the Accessory USB function.
+ * Name of the PTP USB function.
* Used in extras for the {@link #ACTION_USB_STATE} broadcast
*
* {@hide}
*/
- public static final String USB_FUNCTION_ACCESSORY = "accessory";
-
- /**
- * Value indicating that a USB function is enabled.
- * Used in {@link #USB_CONFIGURATION} extras bundle for the
- * {@link #ACTION_USB_STATE} broadcast
- *
- * {@hide}
- */
- public static final String USB_FUNCTION_ENABLED = "enabled";
+ public static final String USB_FUNCTION_PTP = "ptp";
/**
- * Value indicating that a USB function is disabled.
- * Used in {@link #USB_CONFIGURATION} extras bundle for the
- * {@link #ACTION_USB_STATE} broadcast
+ * Name of the Accessory USB function.
+ * Used in extras for the {@link #ACTION_USB_STATE} broadcast
*
* {@hide}
*/
- public static final String USB_FUNCTION_DISABLED = "disabled";
+ public static final String USB_FUNCTION_ACCESSORY = "accessory";
/**
* Name of extra for {@link #ACTION_USB_DEVICE_ATTACHED} and
diff --git a/services/java/com/android/server/NotificationManagerService.java b/services/java/com/android/server/NotificationManagerService.java
index e738145..367c802 100755
--- a/services/java/com/android/server/NotificationManagerService.java
+++ b/services/java/com/android/server/NotificationManagerService.java
@@ -333,8 +333,7 @@ public class NotificationManagerService extends INotificationManager.Stub
if (action.equals(UsbManager.ACTION_USB_STATE)) {
Bundle extras = intent.getExtras();
boolean usbConnected = extras.getBoolean(UsbManager.USB_CONNECTED);
- boolean adbEnabled = (UsbManager.USB_FUNCTION_ENABLED.equals(
- extras.getString(UsbManager.USB_FUNCTION_ADB)));
+ boolean adbEnabled = extras.getBoolean(UsbManager.USB_FUNCTION_ADB);
updateAdbNotification(usbConnected && adbEnabled);
} else if (action.equals(Intent.ACTION_PACKAGE_REMOVED)
|| action.equals(Intent.ACTION_PACKAGE_RESTARTED)
diff --git a/services/java/com/android/server/usb/UsbDeviceManager.java b/services/java/com/android/server/usb/UsbDeviceManager.java
index 3791cc4..95008e5 100644
--- a/services/java/com/android/server/usb/UsbDeviceManager.java
+++ b/services/java/com/android/server/usb/UsbDeviceManager.java
@@ -84,7 +84,6 @@ public class UsbDeviceManager {
// lists of enabled and disabled USB functions
private final ArrayList<String> mEnabledFunctions = new ArrayList<String>();
- private final ArrayList<String> mDisabledFunctions = new ArrayList<String>();
private boolean mSystemReady;
@@ -120,15 +119,11 @@ public class UsbDeviceManager {
if (!mEnabledFunctions.contains(function)) {
mEnabledFunctions.add(function);
}
- mDisabledFunctions.remove(function);
if (UsbManager.USB_FUNCTION_ACCESSORY.equals(function)) {
readCurrentAccessoryLocked();
}
} else {
- if (!mDisabledFunctions.contains(function)) {
- mDisabledFunctions.add(function);
- }
mEnabledFunctions.remove(function);
}
}
@@ -260,8 +255,6 @@ public class UsbDeviceManager {
// so don't treat it as a default function.
mDefaultFunctions.add(functionName);
}
- } else {
- mDisabledFunctions.add(functionName);
}
}
} catch (FileNotFoundException e) {
@@ -278,9 +271,9 @@ public class UsbDeviceManager {
// FIXME - if we booted in accessory mode, then we have no way to figure out
// which functions are enabled by default.
// For now, assume that MTP or mass storage are the only possibilities
- if (mDisabledFunctions.contains(UsbManager.USB_FUNCTION_MTP)) {
+ if (!mEnabledFunctions.contains(UsbManager.USB_FUNCTION_MTP)) {
mDefaultFunctions.add(UsbManager.USB_FUNCTION_MTP);
- } else if (mDisabledFunctions.contains(UsbManager.USB_FUNCTION_MASS_STORAGE)) {
+ } else if (!mEnabledFunctions.contains(UsbManager.USB_FUNCTION_MASS_STORAGE)) {
mDefaultFunctions.add(UsbManager.USB_FUNCTION_MASS_STORAGE);
}
}
@@ -335,15 +328,6 @@ public class UsbDeviceManager {
* This handler is for deferred handling of events related to device mode and accessories.
*/
private final Handler mHandler = new Handler() {
- private void addEnabledFunctionsLocked(Intent intent) {
- // include state of all USB functions in our extras
- for (int i = 0; i < mEnabledFunctions.size(); i++) {
- intent.putExtra(mEnabledFunctions.get(i), UsbManager.USB_FUNCTION_ENABLED);
- }
- for (int i = 0; i < mDisabledFunctions.size(); i++) {
- intent.putExtra(mDisabledFunctions.get(i), UsbManager.USB_FUNCTION_DISABLED);
- }
- }
@Override
public void handleMessage(Message msg) {
@@ -390,7 +374,9 @@ public class UsbDeviceManager {
intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING);
intent.putExtra(UsbManager.USB_CONNECTED, mConnected != 0);
intent.putExtra(UsbManager.USB_CONFIGURATION, mConfiguration);
- addEnabledFunctionsLocked(intent);
+ for (int i = 0; i < mEnabledFunctions.size(); i++) {
+ intent.putExtra(mEnabledFunctions.get(i), true);
+ }
mContext.sendStickyBroadcast(intent);
}
break;
@@ -411,11 +397,6 @@ public class UsbDeviceManager {
pw.print(mEnabledFunctions.get(i) + " ");
}
pw.println("");
- pw.print(" Disabled Functions: ");
- for (int i = 0; i < mDisabledFunctions.size(); i++) {
- pw.print(mDisabledFunctions.get(i) + " ");
- }
- pw.println("");
pw.print(" Default Functions: ");
for (int i = 0; i < mDefaultFunctions.size(); i++) {
pw.print(mDefaultFunctions.get(i) + " ");