1 /*
2  * Copyright (C) 2017 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.settings.bluetooth;
18 
19 import android.content.Context;
20 
21 import androidx.preference.PreferenceFragmentCompat;
22 import androidx.preference.PreferenceScreen;
23 
24 import com.android.settings.R;
25 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
26 import com.android.settingslib.core.lifecycle.Lifecycle;
27 import com.android.settingslib.widget.FooterPreference;
28 import com.android.settingslib.widget.FooterPreferenceMixinCompat;
29 
30 /**
31  * This class adds the device MAC address to a footer.
32  */
33 public class BluetoothDetailsMacAddressController extends BluetoothDetailsController {
34     FooterPreferenceMixinCompat mFooterPreferenceMixin;
35     FooterPreference mFooterPreference;
36 
BluetoothDetailsMacAddressController(Context context, PreferenceFragmentCompat fragment, CachedBluetoothDevice device, Lifecycle lifecycle)37     public BluetoothDetailsMacAddressController(Context context,
38             PreferenceFragmentCompat fragment,
39             CachedBluetoothDevice device,
40             Lifecycle lifecycle) {
41         super(context, fragment, device, lifecycle);
42         mFooterPreferenceMixin = new FooterPreferenceMixinCompat(fragment, lifecycle);
43     }
44 
45     @Override
init(PreferenceScreen screen)46     protected void init(PreferenceScreen screen) {
47         mFooterPreference = mFooterPreferenceMixin.createFooterPreference();
48         mFooterPreference.setTitle(mContext.getString(
49                 R.string.bluetooth_device_mac_address, mCachedDevice.getAddress()));
50     }
51 
52     @Override
refresh()53     protected void refresh() {
54         mFooterPreference.setTitle(mContext.getString(
55                 R.string.bluetooth_device_mac_address, mCachedDevice.getAddress()));
56     }
57 
58     @Override
getPreferenceKey()59     public String getPreferenceKey() {
60         if (mFooterPreference == null) {
61             return null;
62         }
63         return mFooterPreference.getKey();
64     }
65 }