Convert more of StatusFragment to PreferenceControllers
Bug: 67410808 Test: RunSettingsRoboTests Change-Id: Ia79d89d3d3b70bf7af950daa3e588db3f7f597e2
This commit is contained in:
@@ -2695,8 +2695,6 @@
|
||||
<string name="status_bt_address">Bluetooth address</string>
|
||||
<!-- About phone, status item title. The hardware serial number. [CHAR LIMIT=30]-->
|
||||
<string name="status_serial_number">Serial number</string>
|
||||
<!-- About phone, status item value if the actual value is not available. -->
|
||||
<string name="status_unavailable">Unavailable</string>
|
||||
<!-- About phone, status item title. How long the device has been running since its last reboot. -->
|
||||
<string name="status_up_time">Up time</string>
|
||||
<!-- About phone, status item title. How much time the device has had its main CPU awake. -->
|
||||
@@ -5532,8 +5530,6 @@
|
||||
<!-- Messaage shown in dialog when you can't manually sync -->
|
||||
<string name="cant_sync_dialog_message">Sync for this item is currently disabled. To change this setting, temporarily turn on background data and automatic sync.</string>
|
||||
|
||||
<string name="wimax_settings">4G</string>
|
||||
<string name="status_wimax_mac_address">4G MAC address</string>
|
||||
<!-- This is displayed to the user when the device needs to be decrypted -->
|
||||
<string name="enter_password">To start Android, enter your password</string>
|
||||
<!-- Informational text on the pin entry screen prompting the user for their pin -->
|
||||
@@ -9071,10 +9067,4 @@
|
||||
<!-- Note displayed when certain features are not available on low ram devices. [CHAR LIMIT=NONE] -->
|
||||
<string name="disabled_low_ram_device">This feature is not available on this device</string>
|
||||
|
||||
<!--Label of IMS registration header -->
|
||||
<string name="ims_reg_title">"IMS registration state"</string>
|
||||
<!--Used when IMS registration state is registered -->
|
||||
<string name="ims_reg_status_registered">"Registered"</string>
|
||||
<!--Used when IMS registration state is not registered -->
|
||||
<string name="ims_reg_status_not_registered">"Not registered"</string>
|
||||
</resources>
|
||||
|
@@ -82,13 +82,6 @@
|
||||
android:title="@string/status_up_time"
|
||||
android:summary="@string/summary_placeholder"
|
||||
android:persistent="false" />
|
||||
<Preference
|
||||
android:key="wimax_mac_address"
|
||||
android:enabled="false"
|
||||
android:shouldDisableView="false"
|
||||
android:title="@string/status_wimax_mac_address"
|
||||
android:summary="@string/summary_placeholder"
|
||||
android:persistent="false" />
|
||||
<Preference
|
||||
android:key="ims_reg_state"
|
||||
android:enabled="false"
|
||||
|
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.Context;
|
||||
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.deviceinfo.AbstractBluetoothAddressPreferenceController;
|
||||
|
||||
/**
|
||||
* Concrete subclass of bluetooth address preference controller
|
||||
*/
|
||||
public class BluetoothAddressPreferenceController extends
|
||||
AbstractBluetoothAddressPreferenceController implements PreferenceControllerMixin {
|
||||
public BluetoothAddressPreferenceController(Context context, Lifecycle lifecycle) {
|
||||
super(context, lifecycle);
|
||||
}
|
||||
|
||||
// This space intentionally left blank
|
||||
}
|
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.Context;
|
||||
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.deviceinfo.AbstractImsStatusPreferenceController;
|
||||
|
||||
/**
|
||||
* Concrete subclass of IMS status preference controller
|
||||
*/
|
||||
public class ImsStatusPreferenceController extends AbstractImsStatusPreferenceController
|
||||
implements PreferenceControllerMixin {
|
||||
public ImsStatusPreferenceController(Context context,
|
||||
Lifecycle lifecycle) {
|
||||
super(context, lifecycle);
|
||||
}
|
||||
|
||||
// This space intentionally left blank
|
||||
}
|
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.Context;
|
||||
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.deviceinfo.AbstractIpAddressPreferenceController;
|
||||
|
||||
/**
|
||||
* Concrete subclass of IP address preference controller
|
||||
*/
|
||||
public class IpAddressPreferenceController extends AbstractIpAddressPreferenceController implements
|
||||
PreferenceControllerMixin {
|
||||
public IpAddressPreferenceController(Context context, Lifecycle lifecycle) {
|
||||
super(context, lifecycle);
|
||||
}
|
||||
|
||||
// This space intentionally left blank
|
||||
}
|
@@ -16,115 +16,45 @@
|
||||
|
||||
package com.android.settings.deviceinfo;
|
||||
|
||||
import android.bluetooth.BluetoothAdapter;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.content.res.Resources;
|
||||
import android.net.ConnectivityManager;
|
||||
import android.net.wifi.WifiInfo;
|
||||
import android.net.wifi.WifiManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.os.PersistableBundle;
|
||||
import android.os.SystemClock;
|
||||
import android.os.SystemProperties;
|
||||
import android.os.UserManager;
|
||||
import android.provider.SearchIndexableResource;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.support.v7.preference.PreferenceScreen;
|
||||
import android.telephony.CarrierConfigManager;
|
||||
import android.telephony.SubscriptionManager;
|
||||
import android.telephony.TelephonyManager;
|
||||
import android.text.TextUtils;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
import com.android.internal.util.ArrayUtils;
|
||||
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 com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
|
||||
import java.lang.ref.WeakReference;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import static android.content.Context.CONNECTIVITY_SERVICE;
|
||||
import static android.content.Context.WIFI_SERVICE;
|
||||
|
||||
/**
|
||||
* Fragment for showing device hardware info, such as MAC addresses and serial numbers
|
||||
*/
|
||||
public class Status extends SettingsPreferenceFragment implements Indexable {
|
||||
|
||||
private static final String KEY_BATTERY_STATUS = "battery_status";
|
||||
private static final String KEY_BATTERY_LEVEL = "battery_level";
|
||||
private static final String KEY_IP_ADDRESS = "wifi_ip_address";
|
||||
private static final String KEY_WIFI_MAC_ADDRESS = "wifi_mac_address";
|
||||
private static final String KEY_BT_ADDRESS = "bt_address";
|
||||
private static final String KEY_WIMAX_MAC_ADDRESS = "wimax_mac_address";
|
||||
private static final String KEY_SIM_STATUS = "sim_status";
|
||||
private static final String KEY_IMEI_INFO = "imei_info";
|
||||
private static final String KEY_IMS_REGISTRATION_STATE = "ims_reg_state";
|
||||
|
||||
// Broadcasts to listen to for connectivity changes.
|
||||
private static final String[] CONNECTIVITY_INTENTS = {
|
||||
BluetoothAdapter.ACTION_STATE_CHANGED,
|
||||
ConnectivityManager.CONNECTIVITY_ACTION,
|
||||
WifiManager.LINK_CONFIGURATION_CHANGED_ACTION,
|
||||
WifiManager.NETWORK_STATE_CHANGED_ACTION,
|
||||
};
|
||||
|
||||
private static final int EVENT_UPDATE_STATS = 500;
|
||||
|
||||
private static final int EVENT_UPDATE_CONNECTIVITY = 600;
|
||||
|
||||
private ConnectivityManager mCM;
|
||||
private WifiManager mWifiManager;
|
||||
|
||||
private Resources mRes;
|
||||
|
||||
private String mUnavailable;
|
||||
|
||||
private SerialNumberPreferenceController mSerialNumberPreferenceController;
|
||||
|
||||
private Preference mUptime;
|
||||
private UptimePreferenceController mUptimePreferenceController;
|
||||
private Preference mBatteryStatus;
|
||||
private Preference mBatteryLevel;
|
||||
private Preference mBtAddress;
|
||||
private Preference mIpAddress;
|
||||
private Preference mWifiMacAddress;
|
||||
private Preference mWimaxMacAddress;
|
||||
private Preference mImsStatus;
|
||||
|
||||
private Handler mHandler;
|
||||
|
||||
private static class MyHandler extends Handler {
|
||||
private WeakReference<Status> mStatus;
|
||||
|
||||
public MyHandler(Status activity) {
|
||||
mStatus = new WeakReference<Status>(activity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void handleMessage(Message msg) {
|
||||
Status status = mStatus.get();
|
||||
if (status == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
switch (msg.what) {
|
||||
case EVENT_UPDATE_STATS:
|
||||
status.updateTimes();
|
||||
sendEmptyMessageDelayed(EVENT_UPDATE_STATS, 1000);
|
||||
break;
|
||||
|
||||
case EVENT_UPDATE_CONNECTIVITY:
|
||||
status.updateConnectivity();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
private BluetoothAddressPreferenceController mBluetoothAddressPreferenceController;
|
||||
private IpAddressPreferenceController mIpAddressPreferenceController;
|
||||
private WifiMacAddressPreferenceController mWifiMacAddressPreferenceController;
|
||||
private ImsStatusPreferenceController mImsStatusPreferenceController;
|
||||
|
||||
private BroadcastReceiver mBatteryInfoReceiver = new BroadcastReceiver() {
|
||||
|
||||
@@ -138,68 +68,33 @@ public class Status extends SettingsPreferenceFragment implements Indexable {
|
||||
}
|
||||
};
|
||||
|
||||
private IntentFilter mConnectivityIntentFilter;
|
||||
private final BroadcastReceiver mConnectivityReceiver = new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
String action = intent.getAction();
|
||||
if (ArrayUtils.contains(CONNECTIVITY_INTENTS, action)) {
|
||||
mHandler.sendEmptyMessage(EVENT_UPDATE_CONNECTIVITY);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
private boolean hasBluetooth() {
|
||||
return BluetoothAdapter.getDefaultAdapter() != null;
|
||||
}
|
||||
|
||||
private boolean hasWimax() {
|
||||
return mCM.getNetworkInfo(ConnectivityManager.TYPE_WIMAX) != null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle icicle) {
|
||||
super.onCreate(icicle);
|
||||
|
||||
mHandler = new MyHandler(this);
|
||||
|
||||
mCM = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
|
||||
mWifiManager = (WifiManager) getSystemService(WIFI_SERVICE);
|
||||
mSerialNumberPreferenceController = new SerialNumberPreferenceController(getActivity());
|
||||
final Context context = getContext();
|
||||
final Lifecycle lifecycle = getLifecycle();
|
||||
mSerialNumberPreferenceController = new SerialNumberPreferenceController(context);
|
||||
mUptimePreferenceController = new UptimePreferenceController(context, lifecycle);
|
||||
mBluetoothAddressPreferenceController =
|
||||
new BluetoothAddressPreferenceController(context, lifecycle);
|
||||
mIpAddressPreferenceController = new IpAddressPreferenceController(context, lifecycle);
|
||||
mWifiMacAddressPreferenceController =
|
||||
new WifiMacAddressPreferenceController(context, lifecycle);
|
||||
mImsStatusPreferenceController = new ImsStatusPreferenceController(context, lifecycle);
|
||||
|
||||
addPreferencesFromResource(R.xml.device_info_status);
|
||||
mBatteryLevel = findPreference(KEY_BATTERY_LEVEL);
|
||||
mBatteryStatus = findPreference(KEY_BATTERY_STATUS);
|
||||
mBtAddress = findPreference(KEY_BT_ADDRESS);
|
||||
mWifiMacAddress = findPreference(KEY_WIFI_MAC_ADDRESS);
|
||||
mWimaxMacAddress = findPreference(KEY_WIMAX_MAC_ADDRESS);
|
||||
mIpAddress = findPreference(KEY_IP_ADDRESS);
|
||||
mImsStatus = findPreference(KEY_IMS_REGISTRATION_STATE);
|
||||
|
||||
mRes = getResources();
|
||||
mUnavailable = mRes.getString(R.string.status_unavailable);
|
||||
|
||||
// Note - missing in zaku build, be careful later...
|
||||
mUptime = findPreference("up_time");
|
||||
final PreferenceScreen screen = getPreferenceScreen();
|
||||
if (!hasBluetooth()) {
|
||||
screen.removePreference(mBtAddress);
|
||||
mBtAddress = null;
|
||||
}
|
||||
|
||||
if (!hasWimax()) {
|
||||
screen.removePreference(mWimaxMacAddress);
|
||||
mWimaxMacAddress = null;
|
||||
}
|
||||
|
||||
mConnectivityIntentFilter = new IntentFilter();
|
||||
for (String intent: CONNECTIVITY_INTENTS) {
|
||||
mConnectivityIntentFilter.addAction(intent);
|
||||
}
|
||||
|
||||
updateConnectivity();
|
||||
|
||||
mSerialNumberPreferenceController.displayPreference(screen);
|
||||
mUptimePreferenceController.displayPreference(screen);
|
||||
mBluetoothAddressPreferenceController.displayPreference(screen);
|
||||
mIpAddressPreferenceController.displayPreference(screen);
|
||||
mWifiMacAddressPreferenceController.displayPreference(screen);
|
||||
mImsStatusPreferenceController.displayPreference(screen);
|
||||
|
||||
// Remove SimStatus and Imei for Secondary user as it access Phone b/19165700
|
||||
// Also remove on Wi-Fi only devices.
|
||||
@@ -219,11 +114,8 @@ public class Status extends SettingsPreferenceFragment implements Indexable {
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
getContext().registerReceiver(mConnectivityReceiver, mConnectivityIntentFilter,
|
||||
android.Manifest.permission.CHANGE_NETWORK_STATE, null);
|
||||
getContext().registerReceiver(mBatteryInfoReceiver,
|
||||
new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
|
||||
mHandler.sendEmptyMessage(EVENT_UPDATE_STATS);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -231,8 +123,6 @@ public class Status extends SettingsPreferenceFragment implements Indexable {
|
||||
super.onPause();
|
||||
|
||||
getContext().unregisterReceiver(mBatteryInfoReceiver);
|
||||
getContext().unregisterReceiver(mConnectivityReceiver);
|
||||
mHandler.removeMessages(EVENT_UPDATE_STATS);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -246,96 +136,6 @@ public class Status extends SettingsPreferenceFragment implements Indexable {
|
||||
}
|
||||
}
|
||||
|
||||
private void setWimaxStatus() {
|
||||
if (mWimaxMacAddress != null) {
|
||||
String macAddress = SystemProperties.get("net.wimax.mac.address", mUnavailable);
|
||||
mWimaxMacAddress.setSummary(macAddress);
|
||||
}
|
||||
}
|
||||
|
||||
private void setWifiStatus() {
|
||||
WifiInfo wifiInfo = mWifiManager.getConnectionInfo();
|
||||
boolean hasMacAddress = wifiInfo != null && wifiInfo.hasRealMacAddress();
|
||||
String macAddress = hasMacAddress ? wifiInfo.getMacAddress() : null;
|
||||
mWifiMacAddress.setSummary(!TextUtils.isEmpty(macAddress) ? macAddress : mUnavailable);
|
||||
}
|
||||
|
||||
private void setIpAddressStatus() {
|
||||
String ipAddress = Utils.getDefaultIpAddresses(this.mCM);
|
||||
if (ipAddress != null) {
|
||||
mIpAddress.setSummary(ipAddress);
|
||||
} else {
|
||||
mIpAddress.setSummary(mUnavailable);
|
||||
}
|
||||
}
|
||||
|
||||
private void setBtStatus() {
|
||||
BluetoothAdapter bluetooth = BluetoothAdapter.getDefaultAdapter();
|
||||
if (bluetooth != null && mBtAddress != null) {
|
||||
String address = bluetooth.isEnabled() ? bluetooth.getAddress() : null;
|
||||
if (!TextUtils.isEmpty(address)) {
|
||||
// Convert the address to lowercase for consistency with the wifi MAC address.
|
||||
mBtAddress.setSummary(address.toLowerCase());
|
||||
} else {
|
||||
mBtAddress.setSummary(mUnavailable);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void setImsRegistrationStatus() {
|
||||
CarrierConfigManager configManager = (CarrierConfigManager)
|
||||
getSystemService(Context.CARRIER_CONFIG_SERVICE);
|
||||
int subId = SubscriptionManager.getDefaultDataSubscriptionId();
|
||||
PersistableBundle config = null;
|
||||
if (configManager != null) {
|
||||
config = configManager.getConfigForSubId(subId);
|
||||
}
|
||||
if (config != null && config.getBoolean(
|
||||
CarrierConfigManager.KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL)) {
|
||||
TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
|
||||
mImsStatus.setSummary((tm != null && tm.isImsRegistered(subId)) ?
|
||||
R.string.ims_reg_status_registered : R.string.ims_reg_status_not_registered);
|
||||
} else {
|
||||
removePreferenceFromScreen(KEY_IMS_REGISTRATION_STATE);
|
||||
mImsStatus = null;
|
||||
}
|
||||
}
|
||||
|
||||
void updateConnectivity() {
|
||||
setWimaxStatus();
|
||||
setWifiStatus();
|
||||
setBtStatus();
|
||||
setIpAddressStatus();
|
||||
setImsRegistrationStatus();
|
||||
}
|
||||
|
||||
void updateTimes() {
|
||||
long at = SystemClock.uptimeMillis() / 1000;
|
||||
long ut = SystemClock.elapsedRealtime() / 1000;
|
||||
|
||||
if (ut == 0) {
|
||||
ut = 1;
|
||||
}
|
||||
|
||||
mUptime.setSummary(convert(ut));
|
||||
}
|
||||
|
||||
private String pad(int n) {
|
||||
if (n >= 10) {
|
||||
return String.valueOf(n);
|
||||
} else {
|
||||
return "0" + String.valueOf(n);
|
||||
}
|
||||
}
|
||||
|
||||
private String convert(long t) {
|
||||
int s = (int)(t % 60);
|
||||
int m = (int)((t / 60) % 60);
|
||||
int h = (int)((t / 3600));
|
||||
|
||||
return h + ":" + pad(m) + ":" + pad(s);
|
||||
}
|
||||
|
||||
/**
|
||||
* For Search.
|
||||
*/
|
||||
|
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.Context;
|
||||
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.deviceinfo.AbstractUptimePreferenceController;
|
||||
|
||||
/**
|
||||
* Concrete subclass of uptime preference controller
|
||||
*/
|
||||
public class UptimePreferenceController extends AbstractUptimePreferenceController
|
||||
implements PreferenceControllerMixin {
|
||||
public UptimePreferenceController(Context context, Lifecycle lifecycle) {
|
||||
super(context, lifecycle);
|
||||
}
|
||||
|
||||
// This space intentionally left blank
|
||||
}
|
@@ -0,0 +1,35 @@
|
||||
/*
|
||||
* Copyright (C) 2017 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.Context;
|
||||
|
||||
import com.android.settings.core.PreferenceControllerMixin;
|
||||
import com.android.settingslib.core.lifecycle.Lifecycle;
|
||||
import com.android.settingslib.deviceinfo.AbstractWifiMacAddressPreferenceController;
|
||||
|
||||
/**
|
||||
* Concrete subclass of WIFI MAC address preference controller
|
||||
*/
|
||||
public class WifiMacAddressPreferenceController extends AbstractWifiMacAddressPreferenceController
|
||||
implements PreferenceControllerMixin {
|
||||
public WifiMacAddressPreferenceController(Context context, Lifecycle lifecycle) {
|
||||
super(context, lifecycle);
|
||||
}
|
||||
|
||||
// This space intentionally left blank
|
||||
}
|
Reference in New Issue
Block a user