summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/deviceinfo/UsbSettings.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/android/settings/deviceinfo/UsbSettings.java')
-rw-r--r--src/com/android/settings/deviceinfo/UsbSettings.java182
1 files changed, 0 insertions, 182 deletions
diff --git a/src/com/android/settings/deviceinfo/UsbSettings.java b/src/com/android/settings/deviceinfo/UsbSettings.java
deleted file mode 100644
index d8a675c..0000000
--- a/src/com/android/settings/deviceinfo/UsbSettings.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.deviceinfo;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.hardware.usb.UsbManager;
-import android.os.Bundle;
-import android.os.UserManager;
-import android.preference.CheckBoxPreference;
-import android.preference.Preference;
-import android.preference.PreferenceScreen;
-import android.util.Log;
-
-import com.android.internal.logging.MetricsLogger;
-import com.android.settings.R;
-import com.android.settings.SettingsPreferenceFragment;
-import com.android.settings.Utils;
-
-/**
- * USB storage settings.
- */
-public class UsbSettings extends SettingsPreferenceFragment {
-
- private static final String TAG = "UsbSettings";
-
- private static final String KEY_MTP = "usb_mtp";
- private static final String KEY_PTP = "usb_ptp";
- private static final String KEY_MIDI = "usb_midi";
-
- private UsbManager mUsbManager;
- private CheckBoxPreference mMtp;
- private CheckBoxPreference mPtp;
- private CheckBoxPreference mMidi;
- private boolean mUsbAccessoryMode;
-
- private final BroadcastReceiver mStateReceiver = new BroadcastReceiver() {
- public void onReceive(Context content, Intent intent) {
- String action = intent.getAction();
- if (action.equals(UsbManager.ACTION_USB_STATE)) {
- mUsbAccessoryMode = intent.getBooleanExtra(UsbManager.USB_FUNCTION_ACCESSORY, false);
- Log.e(TAG, "UsbAccessoryMode " + mUsbAccessoryMode);
- }
- updateToggles(mUsbManager.getDefaultFunction());
- }
- };
-
- private PreferenceScreen createPreferenceHierarchy() {
- PreferenceScreen root = getPreferenceScreen();
- if (root != null) {
- root.removeAll();
- }
- addPreferencesFromResource(R.xml.usb_settings);
- root = getPreferenceScreen();
-
- mMtp = (CheckBoxPreference)root.findPreference(KEY_MTP);
- mPtp = (CheckBoxPreference)root.findPreference(KEY_PTP);
- mMidi = (CheckBoxPreference)root.findPreference(KEY_MIDI);
-
- UserManager um = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
- if (um.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER)) {
- mMtp.setEnabled(false);
- mPtp.setEnabled(false);
- }
-
- return root;
- }
-
- @Override
- protected int getMetricsCategory() {
- return MetricsLogger.DEVICEINFO_USB;
- }
-
- @Override
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
- mUsbManager = (UsbManager)getSystemService(Context.USB_SERVICE);
- }
-
- @Override
- public void onPause() {
- super.onPause();
- getActivity().unregisterReceiver(mStateReceiver);
- }
-
- @Override
- public void onResume() {
- super.onResume();
-
- // Make sure we reload the preference hierarchy since some of these settings
- // depend on others...
- createPreferenceHierarchy();
-
- // ACTION_USB_STATE is sticky so this will call updateToggles
- getActivity().registerReceiver(mStateReceiver,
- new IntentFilter(UsbManager.ACTION_USB_STATE));
- }
-
- private void updateToggles(String function) {
- if (UsbManager.USB_FUNCTION_MTP.equals(function)) {
- mMtp.setChecked(true);
- mPtp.setChecked(false);
- mMidi.setChecked(false);
- } else if (UsbManager.USB_FUNCTION_PTP.equals(function)) {
- mMtp.setChecked(false);
- mPtp.setChecked(true);
- mMidi.setChecked(false);
- } else if (UsbManager.USB_FUNCTION_MIDI.equals(function)) {
- mMtp.setChecked(false);
- mPtp.setChecked(false);
- mMidi.setChecked(true);
- } else {
- mMtp.setChecked(false);
- mPtp.setChecked(false);
- mMidi.setChecked(false);
- }
- UserManager um = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
- if (um.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER)) {
- Log.e(TAG, "USB is locked down");
- mMtp.setEnabled(false);
- mPtp.setEnabled(false);
- mMidi.setEnabled(true);
- } else if (!mUsbAccessoryMode) {
- //Enable MTP and PTP switch while USB is not in Accessory Mode, otherwise disable it
- Log.e(TAG, "USB Normal Mode");
- mMtp.setEnabled(true);
- mPtp.setEnabled(true);
- mMidi.setEnabled(true);
- } else {
- Log.e(TAG, "USB Accessory Mode");
- mMtp.setEnabled(false);
- mPtp.setEnabled(false);
- mMidi.setEnabled(false);
- }
- }
-
- @Override
- public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
-
- // Don't allow any changes to take effect as the USB host will be disconnected, killing
- // the monkeys
- if (Utils.isMonkeyRunning()) {
- return true;
- }
- // If this user is disallowed from using USB, don't handle their attempts to change the
- // setting.
- UserManager um = (UserManager) getActivity().getSystemService(Context.USER_SERVICE);
- if (um.hasUserRestriction(UserManager.DISALLOW_USB_FILE_TRANSFER)) {
- return true;
- }
-
- String function = "none";
- if (preference == mMtp && mMtp.isChecked()) {
- function = UsbManager.USB_FUNCTION_MTP;
- } else if (preference == mPtp && mPtp.isChecked()) {
- function = UsbManager.USB_FUNCTION_PTP;
- } else if (preference == mMidi && mMidi.isChecked()) {
- function = UsbManager.USB_FUNCTION_MIDI;
- }
-
- mUsbManager.setCurrentFunction(function, true);
- updateToggles(function);
-
- return true;
- }
-}