Remove NFC sharing from Settings.

Bug: 5297151
Change-Id: I64304230296912519aa057a89f139a2242b557e3
This commit is contained in:
Martijn Coenen
2011-09-14 11:47:59 +02:00
parent 85eeb1c16a
commit 943af0bc69
14 changed files with 2 additions and 270 deletions

View File

@@ -967,19 +967,6 @@
</intent-filter> </intent-filter>
</activity> </activity>
<!-- NFC settings -->
<activity android:name="Settings$NfcSharingSettingsActivity"
android:label="@string/ndef_push_settings_title"
android:clearTaskOnLaunch="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.settings.NFCSHARING_SETTINGS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.nfc.NdefPush" />
</activity>
<!-- Accessibility tutorial --> <!-- Accessibility tutorial -->
<activity android:name="AccessibilityTutorialActivity" <activity android:name="AccessibilityTutorialActivity"
android:label="@string/accessibility_tutorial_title" android:label="@string/accessibility_tutorial_title"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
** Copyright 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.
*/
-->
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/tap1" android:duration="200" />
<item android:drawable="@drawable/tap2" android:duration="200" />
<item android:drawable="@drawable/tap3" android:duration="200" />
<item android:drawable="@drawable/tap4" android:duration="200" />
<item android:drawable="@drawable/tap5" android:duration="200" />
<item android:drawable="@drawable/tap6" android:duration="600" />
</animation-list>

View File

@@ -1,56 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2010 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.
-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:paddingLeft="6dip"
android:paddingRight="6dip"
android:layout_width="match_parent" android:layout_height="wrap_content"
android:scrollbars="vertical" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView android:id="@+id/ndef_push_explained"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dip"
android:gravity="top"
android:text="@string/ndef_push_explained"
/>
<ImageView android:id="@+id/ndef_push_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
<TextView android:id="@+id/ndef_push_safety"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dip"
android:gravity="top"
android:text="@string/ndef_push_top"
/>
</LinearLayout>
</ScrollView>
</LinearLayout>

View File

@@ -1110,15 +1110,6 @@
<!-- NFC settings --> <!-- NFC settings -->
<!-- Used in the 1st-level settings screen to turn on NFC --> <!-- Used in the 1st-level settings screen to turn on NFC -->
<string name="nfc_quick_toggle_title">NFC</string> <string name="nfc_quick_toggle_title">NFC</string>
<!-- Used to enter the NdefPush sharing preferences screen -->
<string name="ndef_push_settings_title">ShareTap</string>
<string name="ndef_push_settings_summary"></string>
<string name="ndef_push_on_summary">On</string>
<string name="ndef_push_off_summary">Off</string>
<!-- Used in the NdefPush sharing preferences screen -->
<string name="ndef_push_label">ShareTap</string>
<string name="ndef_push_explained">Share content by touching two NFC-enabled devices back to back.</string>
<string name="ndef_push_top">The app on the top device\'s screen sends content to the bottom device.\n\nYour data is safe: nothing is shared unless both devices are on and unlocked.\n\nYou can turn this feature off in Settings > More > ShareTap.</string>
<!-- Wi-Fi Settings --> <skip /> <!-- Wi-Fi Settings --> <skip />
<!-- Used in the 1st-level settings screen to turn on Wi-Fi --> <!-- Used in the 1st-level settings screen to turn on Wi-Fi -->
<string name="wifi_quick_toggle_title">Wi-Fi</string> <string name="wifi_quick_toggle_title">Wi-Fi</string>

View File

@@ -38,13 +38,6 @@
android:title="@string/nfc_quick_toggle_title" android:title="@string/nfc_quick_toggle_title"
android:persistent="false" /> android:persistent="false" />
<PreferenceScreen
android:fragment="com.android.settings.nfc.NdefPush"
android:key="ndef_push_settings"
android:title="@string/ndef_push_settings_title"
android:summary="@string/ndef_push_settings_summary" >
</PreferenceScreen>
<CheckBoxPreference <CheckBoxPreference
android:key="toggle_wifi_p2p" android:key="toggle_wifi_p2p"
android:title="@string/wifi_p2p_settings_title" android:title="@string/wifi_p2p_settings_title"

View File

@@ -43,7 +43,6 @@ public class WirelessSettings extends SettingsPreferenceFragment {
private static final String KEY_TOGGLE_AIRPLANE = "toggle_airplane"; private static final String KEY_TOGGLE_AIRPLANE = "toggle_airplane";
private static final String KEY_TOGGLE_NFC = "toggle_nfc"; private static final String KEY_TOGGLE_NFC = "toggle_nfc";
private static final String KEY_NDEF_PUSH_SETTINGS = "ndef_push_settings";
private static final String KEY_VPN_SETTINGS = "vpn_settings"; private static final String KEY_VPN_SETTINGS = "vpn_settings";
private static final String KEY_TOGGLE_WIFI_P2P = "toggle_wifi_p2p"; private static final String KEY_TOGGLE_WIFI_P2P = "toggle_wifi_p2p";
private static final String KEY_WIFI_P2P_SETTINGS = "wifi_p2p_settings"; private static final String KEY_WIFI_P2P_SETTINGS = "wifi_p2p_settings";
@@ -101,12 +100,11 @@ public class WirelessSettings extends SettingsPreferenceFragment {
final Activity activity = getActivity(); final Activity activity = getActivity();
mAirplaneModePreference = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE); mAirplaneModePreference = (CheckBoxPreference) findPreference(KEY_TOGGLE_AIRPLANE);
CheckBoxPreference nfc = (CheckBoxPreference) findPreference(KEY_TOGGLE_NFC); CheckBoxPreference nfc = (CheckBoxPreference) findPreference(KEY_TOGGLE_NFC);
PreferenceScreen ndefPush = (PreferenceScreen) findPreference(KEY_NDEF_PUSH_SETTINGS);
CheckBoxPreference wifiP2p = (CheckBoxPreference) findPreference(KEY_TOGGLE_WIFI_P2P); CheckBoxPreference wifiP2p = (CheckBoxPreference) findPreference(KEY_TOGGLE_WIFI_P2P);
mAirplaneModeEnabler = new AirplaneModeEnabler(activity, mAirplaneModePreference); mAirplaneModeEnabler = new AirplaneModeEnabler(activity, mAirplaneModePreference);
mNfcEnabler = new NfcEnabler(activity, nfc, ndefPush); mNfcEnabler = new NfcEnabler(activity, nfc);
String toggleable = Settings.System.getString(activity.getContentResolver(), String toggleable = Settings.System.getString(activity.getContentResolver(),
Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS); Settings.System.AIRPLANE_MODE_TOGGLEABLE_RADIOS);
@@ -124,14 +122,12 @@ public class WirelessSettings extends SettingsPreferenceFragment {
// Manually set dependencies for NFC when not toggleable. // Manually set dependencies for NFC when not toggleable.
if (toggleable == null || !toggleable.contains(Settings.System.RADIO_NFC)) { if (toggleable == null || !toggleable.contains(Settings.System.RADIO_NFC)) {
findPreference(KEY_TOGGLE_NFC).setDependency(KEY_TOGGLE_AIRPLANE); findPreference(KEY_TOGGLE_NFC).setDependency(KEY_TOGGLE_AIRPLANE);
findPreference(KEY_NDEF_PUSH_SETTINGS).setDependency(KEY_TOGGLE_AIRPLANE);
} }
// Remove NFC if its not available // Remove NFC if its not available
mNfcAdapter = NfcAdapter.getDefaultAdapter(activity); mNfcAdapter = NfcAdapter.getDefaultAdapter(activity);
if (mNfcAdapter == null) { if (mNfcAdapter == null) {
getPreferenceScreen().removePreference(nfc); getPreferenceScreen().removePreference(nfc);
getPreferenceScreen().removePreference(ndefPush);
mNfcEnabler = null; mNfcEnabler = null;
} }

View File

@@ -1,129 +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.nfc;
import android.app.ActionBar;
import android.app.Activity;
import android.app.Fragment;
import android.graphics.drawable.AnimationDrawable;
import android.nfc.NfcAdapter;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceActivity;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.Switch;
import com.android.settings.R;
public class NdefPush extends Fragment
implements CompoundButton.OnCheckedChangeListener {
private View mView;
private AnimationDrawable mAnimation;
private ImageView mImageView;
private NfcAdapter mNfcAdapter;
private Switch mActionBarSwitch;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Activity activity = getActivity();
mActionBarSwitch = new Switch(activity);
if (activity instanceof PreferenceActivity) {
PreferenceActivity preferenceActivity = (PreferenceActivity) activity;
if (preferenceActivity.onIsHidingHeaders() || !preferenceActivity.onIsMultiPane()) {
final int padding = activity.getResources().getDimensionPixelSize(
R.dimen.action_bar_switch_padding);
mActionBarSwitch.setPadding(0, 0, padding, 0);
activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
ActionBar.DISPLAY_SHOW_CUSTOM);
activity.getActionBar().setCustomView(mActionBarSwitch, new ActionBar.LayoutParams(
ActionBar.LayoutParams.WRAP_CONTENT,
ActionBar.LayoutParams.WRAP_CONTENT,
Gravity.CENTER_VERTICAL | Gravity.RIGHT));
activity.getActionBar().setTitle(R.string.ndef_push_settings_title);
}
}
mActionBarSwitch.setOnCheckedChangeListener(this);
mNfcAdapter = NfcAdapter.getDefaultAdapter(getActivity());
mActionBarSwitch.setChecked(mNfcAdapter.isNdefPushEnabled());
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mView = inflater.inflate(R.layout.ndefpush, container, false);
initView(mView);
return mView;
}
private void initView(View view) {
mActionBarSwitch.setOnCheckedChangeListener(this);
mActionBarSwitch.setChecked(mNfcAdapter.isNdefPushEnabled());
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mImageView = (ImageView) getActivity().findViewById(R.id.ndef_push_image);
mImageView.setBackgroundResource(R.drawable.ndef_push_anim);
mAnimation = (AnimationDrawable) mImageView.getBackground();
}
@Override
public void onPause() {
super.onPause();
mAnimation.stop();
}
@Override
public void onResume() {
super.onResume();
// This is nasty: the animation can only be started once the fragment
// is attached to the window, and there are no callbacks for that.
mImageView.post(new Runnable() {
public void run() {
mAnimation.start();
}
});
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean desiredState) {
boolean success = false;
mActionBarSwitch.setEnabled(false);
if (desiredState) {
success = mNfcAdapter.enableNdefPush();
} else {
success = mNfcAdapter.disableNdefPush();
}
if (success) {
mActionBarSwitch.setChecked(desiredState);
}
mActionBarSwitch.setEnabled(true);
}
}

View File

@@ -21,13 +21,8 @@ import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.IntentFilter; import android.content.IntentFilter;
import android.nfc.NfcAdapter; import android.nfc.NfcAdapter;
import android.os.Handler;
import android.preference.CheckBoxPreference; import android.preference.CheckBoxPreference;
import android.preference.Preference; import android.preference.Preference;
import android.preference.PreferenceScreen;
import android.util.Log;
import com.android.settings.R;
/** /**
* NfcEnabler is a helper to manage the Nfc on/off checkbox preference. It is * NfcEnabler is a helper to manage the Nfc on/off checkbox preference. It is
@@ -35,14 +30,10 @@ import com.android.settings.R;
* current state. * current state.
*/ */
public class NfcEnabler implements Preference.OnPreferenceChangeListener { public class NfcEnabler implements Preference.OnPreferenceChangeListener {
private static final String TAG = "NfcEnabler";
private final Context mContext; private final Context mContext;
private final CheckBoxPreference mCheckbox; private final CheckBoxPreference mCheckbox;
private final PreferenceScreen mNdefPush;
private final NfcAdapter mNfcAdapter; private final NfcAdapter mNfcAdapter;
private final IntentFilter mIntentFilter; private final IntentFilter mIntentFilter;
private final Handler mHandler = new Handler();
private final BroadcastReceiver mReceiver = new BroadcastReceiver() { private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override @Override
@@ -55,17 +46,14 @@ public class NfcEnabler implements Preference.OnPreferenceChangeListener {
} }
}; };
public NfcEnabler(Context context, CheckBoxPreference checkBoxPreference, public NfcEnabler(Context context, CheckBoxPreference checkBoxPreference) {
PreferenceScreen ndefPush) {
mContext = context; mContext = context;
mCheckbox = checkBoxPreference; mCheckbox = checkBoxPreference;
mNdefPush = ndefPush;
mNfcAdapter = NfcAdapter.getDefaultAdapter(context); mNfcAdapter = NfcAdapter.getDefaultAdapter(context);
if (mNfcAdapter == null) { if (mNfcAdapter == null) {
// NFC is not supported // NFC is not supported
mCheckbox.setEnabled(false); mCheckbox.setEnabled(false);
mNdefPush.setEnabled(false);
mIntentFilter = null; mIntentFilter = null;
return; return;
} }
@@ -109,28 +97,18 @@ public class NfcEnabler implements Preference.OnPreferenceChangeListener {
case NfcAdapter.STATE_OFF: case NfcAdapter.STATE_OFF:
mCheckbox.setChecked(false); mCheckbox.setChecked(false);
mCheckbox.setEnabled(true); mCheckbox.setEnabled(true);
mNdefPush.setEnabled(false);
mNdefPush.setSummary(R.string.ndef_push_settings_summary);
break; break;
case NfcAdapter.STATE_ON: case NfcAdapter.STATE_ON:
mCheckbox.setChecked(true); mCheckbox.setChecked(true);
mCheckbox.setEnabled(true); mCheckbox.setEnabled(true);
mNdefPush.setEnabled(true);
if (mNfcAdapter.isNdefPushEnabled()) {
mNdefPush.setSummary(R.string.ndef_push_on_summary);
} else {
mNdefPush.setSummary(R.string.ndef_push_off_summary);
}
break; break;
case NfcAdapter.STATE_TURNING_ON: case NfcAdapter.STATE_TURNING_ON:
mCheckbox.setChecked(true); mCheckbox.setChecked(true);
mCheckbox.setEnabled(false); mCheckbox.setEnabled(false);
mNdefPush.setEnabled(false);
break; break;
case NfcAdapter.STATE_TURNING_OFF: case NfcAdapter.STATE_TURNING_OFF:
mCheckbox.setChecked(false); mCheckbox.setChecked(false);
mCheckbox.setEnabled(false); mCheckbox.setEnabled(false);
mNdefPush.setEnabled(false);
break; break;
} }
} }