USB: Add dialog with instructions for installing AFT

Bug: 5032807

Change-Id: Ic7737629c6081a3d6192e060da525fcc4c494919
Signed-off-by: Mike Lockwood <lockwood@android.com>
This commit is contained in:
Mike Lockwood
2011-07-20 11:55:34 -07:00
parent 79da62dce8
commit 23a006236b
2 changed files with 34 additions and 0 deletions

View File

@@ -1761,6 +1761,12 @@
<string name="usb_label_installer_cd">Install Android File Transfer application for Mac</string> <string name="usb_label_installer_cd">Install Android File Transfer application for Mac</string>
<!-- Storage setting. Label for installer CD [CHAR LIMIT=30]--> <!-- Storage setting. Label for installer CD [CHAR LIMIT=30]-->
<string name="usb_label_installer_cd_done">Done installing Android File Transfer application for Mac</string> <string name="usb_label_installer_cd_done">Done installing Android File Transfer application for Mac</string>
<!-- Installer CD dialog title [CHAR LIMIT=30] -->
<string name="dlg_installer_cd_title">Android File Transfer app for Mac</string>
<!-- Installer CD dialog text [CHAR LIMIT=NONE] -->
<string name="dlg_installer_cd_text">Step 1:\nOn your Mac, double-click androidfiletransfer.msg\n\nStep 2:\nIn the Installer window, drag Android File Transfer to Applications.</string>
<!-- Installer CD dialog OK button text [CHAR LIMIT=NONE] -->
<string name="dlg_installer_cd_ok">Done following these steps</string>
<!-- Phone info screen, section titles: --> <!-- Phone info screen, section titles: -->
<string name="battery_status_title">Battery status</string> <string name="battery_status_title">Battery status</string>

View File

@@ -16,10 +16,13 @@
package com.android.settings.deviceinfo; package com.android.settings.deviceinfo;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ContentQueryMap; import android.content.ContentQueryMap;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.hardware.usb.UsbManager; import android.hardware.usb.UsbManager;
@@ -52,6 +55,8 @@ public class UsbSettings extends SettingsPreferenceFragment {
private static final String KEY_INSTALLER_CD = "usb_installer_cd"; private static final String KEY_INSTALLER_CD = "usb_installer_cd";
private static final int MENU_ID_INSTALLER_CD = Menu.FIRST; private static final int MENU_ID_INSTALLER_CD = Menu.FIRST;
private static final int DLG_INSTALLER_CD = 1;
private UsbManager mUsbManager; private UsbManager mUsbManager;
private String mInstallerImagePath; private String mInstallerImagePath;
private CheckBoxPreference mMtp; private CheckBoxPreference mMtp;
@@ -60,6 +65,9 @@ public class UsbSettings extends SettingsPreferenceFragment {
private final BroadcastReceiver mStateReceiver = new BroadcastReceiver() { private final BroadcastReceiver mStateReceiver = new BroadcastReceiver() {
public void onReceive(Context content, Intent intent) { public void onReceive(Context content, Intent intent) {
if (!intent.getBooleanExtra(UsbManager.USB_CONNECTED, false)) {
removeDialog(DLG_INSTALLER_CD);
}
updateToggles(); updateToggles();
} }
}; };
@@ -108,6 +116,24 @@ public class UsbSettings extends SettingsPreferenceFragment {
new IntentFilter(UsbManager.ACTION_USB_STATE)); new IntentFilter(UsbManager.ACTION_USB_STATE));
} }
@Override
public Dialog onCreateDialog(int id) {
switch (id) {
case DLG_INSTALLER_CD:
return new AlertDialog.Builder(getActivity())
.setTitle(R.string.dlg_installer_cd_title)
.setMessage(R.string.dlg_installer_cd_text)
.setPositiveButton(R.string.dlg_installer_cd_ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Disable installer CD, return to default function.
mUsbManager.setCurrentFunction(null, false);
}})
.create();
}
return null;
}
private void updateToggles() { private void updateToggles() {
if (mUsbManager.isFunctionEnabled(UsbManager.USB_FUNCTION_MTP)) { if (mUsbManager.isFunctionEnabled(UsbManager.USB_FUNCTION_MTP)) {
mMtp.setChecked(true); mMtp.setChecked(true);
@@ -164,10 +190,12 @@ public class UsbSettings extends SettingsPreferenceFragment {
if (mUsbManager.isFunctionEnabled(UsbManager.USB_FUNCTION_MASS_STORAGE)) { if (mUsbManager.isFunctionEnabled(UsbManager.USB_FUNCTION_MASS_STORAGE)) {
// Disable installer CD, return to default function. // Disable installer CD, return to default function.
mUsbManager.setCurrentFunction(null, false); mUsbManager.setCurrentFunction(null, false);
removeDialog(DLG_INSTALLER_CD);
} else { } else {
// Enable installer CD. Don't set as default function. // Enable installer CD. Don't set as default function.
mUsbManager.setCurrentFunction(UsbManager.USB_FUNCTION_MASS_STORAGE, false); mUsbManager.setCurrentFunction(UsbManager.USB_FUNCTION_MASS_STORAGE, false);
mUsbManager.setMassStorageBackingFile(mInstallerImagePath); mUsbManager.setMassStorageBackingFile(mInstallerImagePath);
showDialog(DLG_INSTALLER_CD);
} }
updateToggles(); updateToggles();
return true; return true;