Merge "Revert "Add BT message access"" into lmp-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
e1fd76a85b
@@ -314,8 +314,6 @@
|
|||||||
<string name="bluetooth_notif_message">Touch to pair with <xliff:g id="device_name">%1$s</xliff:g>.</string>
|
<string name="bluetooth_notif_message">Touch to pair with <xliff:g id="device_name">%1$s</xliff:g>.</string>
|
||||||
<!-- Bluetooth settings screen, menu to show the list of received files [CHAR LIMIT=30] -->
|
<!-- Bluetooth settings screen, menu to show the list of received files [CHAR LIMIT=30] -->
|
||||||
<string name="bluetooth_show_received_files">Show received files</string>
|
<string name="bluetooth_show_received_files">Show received files</string>
|
||||||
<!-- Bluetooth settings screen, menu to show the list of email accounts to pull messages from [CHAR LIMIT=30] -->
|
|
||||||
<string name="bluetooth_show_message_access">Message access</string>
|
|
||||||
|
|
||||||
<!-- Strings for BluetoothDevicePicker -->
|
<!-- Strings for BluetoothDevicePicker -->
|
||||||
<string name="device_picker">Bluetooth device chooser</string>
|
<string name="device_picker">Bluetooth device chooser</string>
|
||||||
@@ -326,8 +324,6 @@
|
|||||||
<!-- Strings for asking to the user whether to allow an app to enable bluetooth -->
|
<!-- Strings for asking to the user whether to allow an app to enable bluetooth -->
|
||||||
<string name="bluetooth_ask_enablement">An app wants to turn on Bluetooth.</string>
|
<string name="bluetooth_ask_enablement">An app wants to turn on Bluetooth.</string>
|
||||||
|
|
||||||
<!-- String for informing the user that bluetooth devices must be granted permission. [CHAR LIMIT=100] -->
|
|
||||||
<string name="bluetooth_message_access_notice">Bluetooth devices must ask for permission before accessing available accounts.</string>
|
|
||||||
<!-- Strings for asking to the user whether to allow an app to enable discovery mode -->
|
<!-- Strings for asking to the user whether to allow an app to enable discovery mode -->
|
||||||
<string name="bluetooth_ask_discovery" product="tablet">An app wants to make your tablet visible to other Bluetooth devices for <xliff:g id="timeout">%1$d</xliff:g> seconds.</string>
|
<string name="bluetooth_ask_discovery" product="tablet">An app wants to make your tablet visible to other Bluetooth devices for <xliff:g id="timeout">%1$d</xliff:g> seconds.</string>
|
||||||
<!-- Strings for asking to the user whether to allow an app to enable discovery mode -->
|
<!-- Strings for asking to the user whether to allow an app to enable discovery mode -->
|
||||||
@@ -1207,8 +1203,6 @@
|
|||||||
<string name="bluetooth_pairing_dialog_paring_request"><xliff:g id="device_name">%1$s</xliff:g> wants to pair with Bluetooth. When connected, it will have access to your contacts and call history.</string>
|
<string name="bluetooth_pairing_dialog_paring_request"><xliff:g id="device_name">%1$s</xliff:g> wants to pair with Bluetooth. When connected, it will have access to your contacts and call history.</string>
|
||||||
<!-- Bluetooth settings: The sub heading for devices which have already been paired with this device. [CHAR LIMIT=40] -->
|
<!-- Bluetooth settings: The sub heading for devices which have already been paired with this device. [CHAR LIMIT=40] -->
|
||||||
<string name="bluetooth_preference_paired_devices">Paired devices</string>
|
<string name="bluetooth_preference_paired_devices">Paired devices</string>
|
||||||
<!-- Bluetooth settings: The sub heading for messaging accesses. [CHAR LIMIT=50] -->
|
|
||||||
<string name="bluetooth_message_access">Paired devices can view messages from</string>
|
|
||||||
<!-- Bluetooth settings: The sub heading for available devices during and after scanning. [CHAR LIMIT=40] -->
|
<!-- Bluetooth settings: The sub heading for available devices during and after scanning. [CHAR LIMIT=40] -->
|
||||||
<string name="bluetooth_preference_found_devices">Available devices</string>
|
<string name="bluetooth_preference_found_devices">Available devices</string>
|
||||||
<!-- Bluetooth settings: The message displayed if no Bluetooth devices were found. [CHAR LIMIT=40] -->
|
<!-- Bluetooth settings: The message displayed if no Bluetooth devices were found. [CHAR LIMIT=40] -->
|
||||||
|
@@ -1,31 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<!-- Copyright (C) 2014 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.
|
|
||||||
-->
|
|
||||||
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
|
|
||||||
android:title="@string/bluetooth_show_message_access">
|
|
||||||
|
|
||||||
<PreferenceCategory
|
|
||||||
android:key="accounts"
|
|
||||||
android:title="@string/bluetooth_message_access" />
|
|
||||||
|
|
||||||
<Preference
|
|
||||||
android:key="notice"
|
|
||||||
android:title=""
|
|
||||||
android:textAppearance="?android:attr/textAppearanceSmall"
|
|
||||||
android:textColor="?android:attr/colorForegroundInverse"
|
|
||||||
android:selectable="false"
|
|
||||||
android:summary="@string/bluetooth_message_access_notice" />
|
|
||||||
|
|
||||||
</PreferenceScreen>
|
|
@@ -72,7 +72,6 @@ import com.android.settings.applications.InstalledAppDetails;
|
|||||||
import com.android.settings.applications.ManageApplications;
|
import com.android.settings.applications.ManageApplications;
|
||||||
import com.android.settings.applications.ProcessStatsUi;
|
import com.android.settings.applications.ProcessStatsUi;
|
||||||
import com.android.settings.bluetooth.BluetoothSettings;
|
import com.android.settings.bluetooth.BluetoothSettings;
|
||||||
import com.android.settings.bluetooth.MessageAccessSettings;
|
|
||||||
import com.android.settings.dashboard.DashboardCategory;
|
import com.android.settings.dashboard.DashboardCategory;
|
||||||
import com.android.settings.dashboard.DashboardSummary;
|
import com.android.settings.dashboard.DashboardSummary;
|
||||||
import com.android.settings.dashboard.DashboardTile;
|
import com.android.settings.dashboard.DashboardTile;
|
||||||
@@ -238,7 +237,6 @@ public class SettingsActivity extends Activity
|
|||||||
AdvancedWifiSettings.class.getName(),
|
AdvancedWifiSettings.class.getName(),
|
||||||
SavedAccessPointsWifiSettings.class.getName(),
|
SavedAccessPointsWifiSettings.class.getName(),
|
||||||
BluetoothSettings.class.getName(),
|
BluetoothSettings.class.getName(),
|
||||||
MessageAccessSettings.class.getName(),
|
|
||||||
SimSettings.class.getName(),
|
SimSettings.class.getName(),
|
||||||
TetherSettings.class.getName(),
|
TetherSettings.class.getName(),
|
||||||
WifiP2pSettings.class.getName(),
|
WifiP2pSettings.class.getName(),
|
||||||
|
@@ -69,7 +69,6 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem
|
|||||||
private static final int MENU_ID_SCAN = Menu.FIRST;
|
private static final int MENU_ID_SCAN = Menu.FIRST;
|
||||||
private static final int MENU_ID_RENAME_DEVICE = Menu.FIRST + 1;
|
private static final int MENU_ID_RENAME_DEVICE = Menu.FIRST + 1;
|
||||||
private static final int MENU_ID_SHOW_RECEIVED = Menu.FIRST + 2;
|
private static final int MENU_ID_SHOW_RECEIVED = Menu.FIRST + 2;
|
||||||
private static final int MENU_ID_MESSAGE_ACCESS = Menu.FIRST + 3;
|
|
||||||
|
|
||||||
/* Private intent to show the list of received files */
|
/* Private intent to show the list of received files */
|
||||||
private static final String BTOPP_ACTION_OPEN_RECEIVED_FILES =
|
private static final String BTOPP_ACTION_OPEN_RECEIVED_FILES =
|
||||||
@@ -205,12 +204,6 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem
|
|||||||
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
|
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
|
||||||
menu.add(Menu.NONE, MENU_ID_SHOW_RECEIVED, 0, R.string.bluetooth_show_received_files)
|
menu.add(Menu.NONE, MENU_ID_SHOW_RECEIVED, 0, R.string.bluetooth_show_received_files)
|
||||||
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
|
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
|
||||||
// Message Access API is still not finished, once completed we undo this check.
|
|
||||||
// Bug 16232864
|
|
||||||
if (android.os.SystemProperties.get("show_bluetooth_message_access").equals("true")){
|
|
||||||
menu.add(Menu.NONE, MENU_ID_MESSAGE_ACCESS, 0, R.string.bluetooth_show_message_access)
|
|
||||||
.setShowAsAction(MenuItem.SHOW_AS_ACTION_NEVER);
|
|
||||||
}
|
|
||||||
super.onCreateOptionsMenu(menu, inflater);
|
super.onCreateOptionsMenu(menu, inflater);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -232,14 +225,6 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem
|
|||||||
Intent intent = new Intent(BTOPP_ACTION_OPEN_RECEIVED_FILES);
|
Intent intent = new Intent(BTOPP_ACTION_OPEN_RECEIVED_FILES);
|
||||||
getActivity().sendBroadcast(intent);
|
getActivity().sendBroadcast(intent);
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case MENU_ID_MESSAGE_ACCESS:
|
|
||||||
if (getActivity() instanceof SettingsActivity) {
|
|
||||||
((SettingsActivity) getActivity()).startPreferencePanel(
|
|
||||||
MessageAccessSettings.class.getCanonicalName(), null,
|
|
||||||
R.string.bluetooth_show_message_access, null, this, 0);
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item);
|
return super.onOptionsItemSelected(item);
|
||||||
}
|
}
|
||||||
@@ -377,7 +362,6 @@ public final class BluetoothSettings extends DeviceListPreferenceFragment implem
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDeviceBondStateChanged(CachedBluetoothDevice cachedDevice, int bondState) {
|
public void onDeviceBondStateChanged(CachedBluetoothDevice cachedDevice, int bondState) {
|
||||||
setDeviceListGroup(getPreferenceScreen());
|
setDeviceListGroup(getPreferenceScreen());
|
||||||
removeAllDevices();
|
removeAllDevices();
|
||||||
|
@@ -1,167 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2014 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.bluetooth;
|
|
||||||
|
|
||||||
import android.accounts.Account;
|
|
||||||
import android.accounts.AccountManager;
|
|
||||||
import android.app.ActivityManagerNative;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.pm.PackageManager.NameNotFoundException;
|
|
||||||
import android.graphics.drawable.Drawable;
|
|
||||||
import android.os.Bundle;
|
|
||||||
import android.os.UserHandle;
|
|
||||||
import android.preference.SwitchPreference;
|
|
||||||
import android.preference.Preference;
|
|
||||||
import android.preference.PreferenceGroup;
|
|
||||||
import android.preference.PreferenceScreen;
|
|
||||||
import android.provider.SearchIndexableResource;
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import com.android.settings.accounts.AuthenticatorHelper;
|
|
||||||
import com.android.settings.R;
|
|
||||||
import com.android.settings.SettingsPreferenceFragment;
|
|
||||||
import com.android.settings.Utils;
|
|
||||||
import com.android.settings.search.BaseSearchIndexProvider;
|
|
||||||
import com.android.settings.search.Indexable;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
public class MessageAccessSettings extends SettingsPreferenceFragment
|
|
||||||
implements AuthenticatorHelper.OnAccountsUpdateListener, Indexable {
|
|
||||||
private static final String TAG = "MessageAccessSettings";
|
|
||||||
private static final String GMAIL_PACKAGE_NAME = "com.google.android.gm";
|
|
||||||
private static final String EMAIL_PACKAGE_NAME = "com.google.android.email";
|
|
||||||
|
|
||||||
private Account[] mAccounts;
|
|
||||||
private UserHandle mUserHandle;
|
|
||||||
private PreferenceGroup mAvailableAccounts;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onCreate(Bundle savedInstanceState) {
|
|
||||||
super.onCreate(savedInstanceState);
|
|
||||||
|
|
||||||
// TODO: Define behavior for managed profile. See: http://b/16287773
|
|
||||||
mUserHandle = new UserHandle(UserHandle.myUserId());
|
|
||||||
|
|
||||||
addPreferencesFromResource(R.xml.bluetooth_message_access);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onResume() {
|
|
||||||
super.onResume();
|
|
||||||
initPreferences();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAccountsUpdate(final UserHandle userHandle) {
|
|
||||||
mAccounts = AccountManager.get(getActivity()).getAccountsAsUser(
|
|
||||||
mUserHandle.getIdentifier());
|
|
||||||
|
|
||||||
final int mAccountsSize = mAccounts.length;
|
|
||||||
for (int i = 0; i < mAccountsSize; ++i){
|
|
||||||
Log.d(TAG, String.format("account.type = %s\n", mAccounts[i].type));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Retrieves the email icon for a given account's email preference
|
|
||||||
*
|
|
||||||
* @param accountPref The user's account to retrieve the icon from.
|
|
||||||
*
|
|
||||||
* @return The drawable representing the icon of the user's email preference
|
|
||||||
**/
|
|
||||||
private Drawable getIcon(AccountPreference accountPref){
|
|
||||||
Drawable icon = null;
|
|
||||||
|
|
||||||
// Currently only two types of icons are allowed.
|
|
||||||
final String packageName = accountPref.account.type.equals("com.google")
|
|
||||||
? GMAIL_PACKAGE_NAME : EMAIL_PACKAGE_NAME;
|
|
||||||
|
|
||||||
try{
|
|
||||||
icon = getPackageManager().getApplicationIcon(packageName);
|
|
||||||
}catch(NameNotFoundException nnfe){
|
|
||||||
icon = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
return icon;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void initPreferences() {
|
|
||||||
final PreferenceScreen preferenceScreen = getPreferenceScreen();
|
|
||||||
mAvailableAccounts = (PreferenceGroup)preferenceScreen.findPreference("accounts");
|
|
||||||
mAccounts = AccountManager.get(getActivity()).getAccountsAsUser(
|
|
||||||
mUserHandle.getIdentifier());
|
|
||||||
|
|
||||||
final int mAccountsSize = mAccounts.length;
|
|
||||||
for (int i = 0; i < mAccountsSize; ++i){
|
|
||||||
AccountPreference accountPref = new AccountPreference(getActivity(), mAccounts[i]);
|
|
||||||
Drawable icon = getIcon(accountPref);
|
|
||||||
if (icon != null){
|
|
||||||
accountPref.setIcon(icon);
|
|
||||||
}
|
|
||||||
mAvailableAccounts.addPreference(accountPref);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private class AccountPreference extends SwitchPreference
|
|
||||||
implements Preference.OnPreferenceChangeListener{
|
|
||||||
private Account account;
|
|
||||||
|
|
||||||
AccountPreference(Context context, Account account){
|
|
||||||
super(context);
|
|
||||||
this.account = account;
|
|
||||||
setTitle(account.type);
|
|
||||||
setSummary(account.name);
|
|
||||||
|
|
||||||
setOnPreferenceChangeListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean onPreferenceChange(Preference preference, Object val) {
|
|
||||||
if (preference instanceof AccountPreference){
|
|
||||||
final AccountPreference accountPref = (AccountPreference) preference;
|
|
||||||
|
|
||||||
if (((Boolean)val).booleanValue()){
|
|
||||||
// Enable paired deviced to connect, fill in once API is available
|
|
||||||
Log.w(TAG, String.format(
|
|
||||||
"User has turned on '%s' for Bluetooth message access.",
|
|
||||||
accountPref.account.name));
|
|
||||||
} else {
|
|
||||||
// Disable paired deviced to connect, fill in once API is available
|
|
||||||
Log.w(TAG, String.format(
|
|
||||||
"User has turned off '%s' for Bluetooth message access.",
|
|
||||||
accountPref.account.name));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
|
|
||||||
new BaseSearchIndexProvider() {
|
|
||||||
@Override
|
|
||||||
public List<SearchIndexableResource> getXmlResourcesToIndex(
|
|
||||||
Context context, boolean enabled) {
|
|
||||||
List<SearchIndexableResource> indexables = new ArrayList<SearchIndexableResource>();
|
|
||||||
SearchIndexableResource indexable = new SearchIndexableResource(context);
|
|
||||||
indexable.xmlResId = R.xml.bluetooth_message_access;
|
|
||||||
indexables.add(indexable);
|
|
||||||
return indexables;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
@@ -30,7 +30,6 @@ import com.android.settings.WallpaperTypeSettings;
|
|||||||
import com.android.settings.WirelessSettings;
|
import com.android.settings.WirelessSettings;
|
||||||
import com.android.settings.accessibility.AccessibilitySettings;
|
import com.android.settings.accessibility.AccessibilitySettings;
|
||||||
import com.android.settings.bluetooth.BluetoothSettings;
|
import com.android.settings.bluetooth.BluetoothSettings;
|
||||||
import com.android.settings.bluetooth.MessageAccessSettings;
|
|
||||||
import com.android.settings.deviceinfo.Memory;
|
import com.android.settings.deviceinfo.Memory;
|
||||||
import com.android.settings.fuelgauge.BatterySaverSettings;
|
import com.android.settings.fuelgauge.BatterySaverSettings;
|
||||||
import com.android.settings.fuelgauge.PowerUsageSummary;
|
import com.android.settings.fuelgauge.PowerUsageSummary;
|
||||||
@@ -94,7 +93,6 @@ public final class Ranking {
|
|||||||
|
|
||||||
// BT
|
// BT
|
||||||
sRankMap.put(BluetoothSettings.class.getName(), RANK_BT);
|
sRankMap.put(BluetoothSettings.class.getName(), RANK_BT);
|
||||||
sRankMap.put(MessageAccessSettings.class.getName(), RANK_BT);
|
|
||||||
|
|
||||||
// SIM Cards
|
// SIM Cards
|
||||||
sRankMap.put(SimSettings.class.getName(), RANK_SIM);
|
sRankMap.put(SimSettings.class.getName(), RANK_SIM);
|
||||||
|
@@ -33,7 +33,6 @@ import com.android.settings.WallpaperTypeSettings;
|
|||||||
import com.android.settings.WirelessSettings;
|
import com.android.settings.WirelessSettings;
|
||||||
import com.android.settings.accessibility.AccessibilitySettings;
|
import com.android.settings.accessibility.AccessibilitySettings;
|
||||||
import com.android.settings.bluetooth.BluetoothSettings;
|
import com.android.settings.bluetooth.BluetoothSettings;
|
||||||
import com.android.settings.bluetooth.MessageAccessSettings;
|
|
||||||
import com.android.settings.deviceinfo.Memory;
|
import com.android.settings.deviceinfo.Memory;
|
||||||
import com.android.settings.fuelgauge.BatterySaverSettings;
|
import com.android.settings.fuelgauge.BatterySaverSettings;
|
||||||
import com.android.settings.fuelgauge.PowerUsageSummary;
|
import com.android.settings.fuelgauge.PowerUsageSummary;
|
||||||
@@ -97,13 +96,6 @@ public final class SearchIndexableResources {
|
|||||||
SimSettings.class.getName(),
|
SimSettings.class.getName(),
|
||||||
R.drawable.ic_sim_sd));
|
R.drawable.ic_sim_sd));
|
||||||
|
|
||||||
sResMap.put(MessageAccessSettings.class.getName(),
|
|
||||||
new SearchIndexableResource(
|
|
||||||
Ranking.getRankForClassName(MessageAccessSettings.class.getName()),
|
|
||||||
NO_DATA_RES_ID,
|
|
||||||
MessageAccessSettings.class.getName(),
|
|
||||||
R.drawable.ic_settings_bluetooth2));
|
|
||||||
|
|
||||||
sResMap.put(DataUsageSummary.class.getName(),
|
sResMap.put(DataUsageSummary.class.getName(),
|
||||||
new SearchIndexableResource(
|
new SearchIndexableResource(
|
||||||
Ranking.getRankForClassName(DataUsageSummary.class.getName()),
|
Ranking.getRankForClassName(DataUsageSummary.class.getName()),
|
||||||
|
Reference in New Issue
Block a user