resolve merge conflicts of f7a5fb6d to stage-aosp-master
Test: I solemnly swear I tested this conflict resolution.
Change-Id: I8171d349653590a858a21f4811e74d1993d70122
diff --git a/Settings/src/com/android/tv/settings/MainFragment.java b/Settings/src/com/android/tv/settings/MainFragment.java
index ed2ff2a..b58578b 100644
--- a/Settings/src/com/android/tv/settings/MainFragment.java
+++ b/Settings/src/com/android/tv/settings/MainFragment.java
@@ -36,7 +36,6 @@
import android.os.Bundle;
import android.os.UserHandle;
import android.support.v17.preference.LeanbackPreferenceFragment;
-import android.support.v4.content.LocalBroadcastManager;
import android.support.v7.preference.Preference;
import android.support.v7.preference.PreferenceGroup;
import android.text.TextUtils;
@@ -46,7 +45,6 @@
import com.android.settingslib.accounts.AuthenticatorHelper;
import com.android.tv.settings.accessories.AccessoryUtils;
import com.android.tv.settings.accessories.BluetoothAccessoryFragment;
-import com.android.tv.settings.accessories.BluetoothConnectionsManager;
import com.android.tv.settings.accounts.AccountSyncFragment;
import com.android.tv.settings.accounts.AddAccountWithTypeActivity;
import com.android.tv.settings.connectivity.ConnectivityListener;
@@ -97,8 +95,6 @@
}
};
- private final BroadcastReceiver mBtConnectionReceiver = new BluetoothConnectionsManager();
-
public static MainFragment newInstance() {
return new MainFragment();
}
@@ -158,15 +154,12 @@
public void onStart() {
super.onStart();
mAuthenticatorHelper.listenToAccountUpdates();
- final IntentFilter filter =
- new IntentFilter(BluetoothConnectionsManager.ACTION_BLUETOOTH_UPDATE);
- LocalBroadcastManager.getInstance(getContext()).registerReceiver(mBCMReceiver, filter);
IntentFilter btChangeFilter = new IntentFilter();
btChangeFilter.addAction(BluetoothDevice.ACTION_ACL_CONNECTED);
btChangeFilter.addAction(BluetoothDevice.ACTION_ACL_DISCONNECTED);
btChangeFilter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED);
- LocalBroadcastManager.getInstance(getContext()).registerReceiver(mBtConnectionReceiver, btChangeFilter);
+ getContext().registerReceiver(mBCMReceiver, btChangeFilter);
}
@Override
@@ -190,8 +183,7 @@
public void onStop() {
super.onStop();
mAuthenticatorHelper.stopListeningToAccountUpdates();
- LocalBroadcastManager.getInstance(getContext()).unregisterReceiver(mBtConnectionReceiver);
- LocalBroadcastManager.getInstance(getContext()).unregisterReceiver(mBCMReceiver);
+ getContext().unregisterReceiver(mBCMReceiver);
}
private void hideIfIntentUnhandled(Preference preference) {
@@ -327,8 +319,6 @@
return;
}
- final Set<String> connectedBluetoothAddresses =
- BluetoothConnectionsManager.getConnectedSet(getContext());
final Context themedContext = getPreferenceManager().getContext();
final Set<String> touchedKeys = new ArraySet<>(bondedDevices.size() + 1);
@@ -343,6 +333,7 @@
continue;
}
+ final String desc = device.isConnected() ? getString(R.string.accessory_connected) : null;
final String key = "BluetoothDevice:" + deviceAddress;
touchedKeys.add(key);
Preference preference = mAccessoriesGroup.findPreference(key);
@@ -352,9 +343,6 @@
}
final String deviceName = device.getName();
preference.setTitle(deviceName);
- final String desc = connectedBluetoothAddresses.contains(deviceAddress)
- ? getString(R.string.accessory_connected)
- : null;
preference.setSummary(desc);
final int deviceImgId = AccessoryUtils.getImageIdForDevice(device);
preference.setIcon(deviceImgId);
diff --git a/Settings/src/com/android/tv/settings/accessories/BluetoothConnectionsManager.java b/Settings/src/com/android/tv/settings/accessories/BluetoothConnectionsManager.java
deleted file mode 100644
index 1917a66..0000000
--- a/Settings/src/com/android/tv/settings/accessories/BluetoothConnectionsManager.java
+++ /dev/null
@@ -1,90 +0,0 @@
-package com.android.tv.settings.accessories;
-
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.SharedPreferences;
-import android.support.v4.content.LocalBroadcastManager;
-import android.text.TextUtils;
-
-import com.android.tv.settings.MainSettings;
-
-import java.util.HashSet;
-import java.util.Set;
-
-public class BluetoothConnectionsManager extends BroadcastReceiver {
- private static final String PREFS_NAME = "bt-connected-devs";
- private static final String KEY_CONNECTED_SET = "conencted-set";
- private static final String KEY_BT_STATE = "bt-state";
-
- public static final String ACTION_BLUETOOTH_UPDATE =
- "BluetoothConnectionsManager.BLUETOOTH_UPDATE";
-
- public void onReceive(Context context, Intent intent) {
- onConnectionChanged(context, intent);
- }
-
- public static void onConnectionChanged(Context context, Intent intent) {
- final String action = intent.getAction();
-
- final SharedPreferences prefs =
- context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
- Set<String> connected = prefs.getStringSet(KEY_CONNECTED_SET, new HashSet<String>());
- int btState = prefs.getInt(KEY_BT_STATE, BluetoothAdapter.STATE_OFF);
-
- boolean listChanged = false;
- boolean btStateChanged = false;
-
- if (TextUtils.equals(action, BluetoothAdapter.ACTION_STATE_CHANGED)) {
- final int newBtState = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE,
- BluetoothAdapter.ERROR);
-
- if (btState != newBtState) {
- // if BT was just turned off, we can't be connected to any devices.
- // if BT was just turned on, we haven't had the time to connect to any devices yet.
- if (newBtState == BluetoothAdapter.STATE_ON ||
- newBtState == BluetoothAdapter.STATE_OFF) {
- listChanged = true;
- connected.clear();
- }
-
- btStateChanged = true;
- btState = newBtState;
- }
- } else if (intent.getExtras() != null) {
- BluetoothDevice device = intent.getExtras().getParcelable(BluetoothDevice.EXTRA_DEVICE);
- if (device != null) {
- if (TextUtils.equals(action, BluetoothDevice.ACTION_ACL_CONNECTED)) {
- listChanged = connected.add(device.getAddress());
- } else if (TextUtils.equals(action, BluetoothDevice.ACTION_ACL_DISCONNECTED)) {
- listChanged = connected.remove(device.getAddress());
- }
- }
- }
-
- if (btStateChanged || listChanged) {
- SharedPreferences.Editor editor = prefs.edit();
-
- if (btStateChanged) {
- editor.putInt(KEY_BT_STATE, btState);
- }
- if (listChanged) {
- editor.putStringSet(KEY_CONNECTED_SET, connected);
- }
-
- editor.apply();
- }
-
- if (listChanged) {
- LocalBroadcastManager.getInstance(context)
- .sendBroadcast(new Intent(ACTION_BLUETOOTH_UPDATE));
- }
- }
-
- public static Set<String> getConnectedSet(Context context) {
- SharedPreferences prefs = context.getSharedPreferences(PREFS_NAME, Context.MODE_PRIVATE);
- return prefs.getStringSet(KEY_CONNECTED_SET, new HashSet<String>());
- }
-}