Remove more entries not relevant to wifi-only devices.

Bug: 3488384
Bug: 3487976
Bug: 3488381

Removed Cell standby entry from Battery use screen.
Removed Mobile signal strength from BatteryHistory screen.
Added wifi IP address to About->Status
Remove auto-timezone checkbox in Settings->Date & time

Change-Id: I228721a3613b1aeb600026e42274337886552698
This commit is contained in:
Amith Yamasani
2011-02-25 14:35:20 -08:00
parent 489c7bff5c
commit c06d4c48a9
8 changed files with 163 additions and 73 deletions

View File

@@ -90,6 +90,11 @@
android:title="@string/status_imei_sv" android:title="@string/status_imei_sv"
android:summary="@string/device_info_not_available" android:summary="@string/device_info_not_available"
android:persistent="false" /> android:persistent="false" />
<Preference android:key="wifi_ip_address"
style="?android:attr/preferenceInformationStyle"
android:title="@string/wifi_advanced_ip_address_title"
android:summary="@string/device_info_not_available"
android:persistent="false" />
<Preference android:key="wifi_mac_address" <Preference android:key="wifi_mac_address"
style="?android:attr/preferenceInformationStyle" style="?android:attr/preferenceInformationStyle"
android:title="@string/status_wifi_mac_address" android:title="@string/status_wifi_mac_address"

View File

@@ -87,6 +87,12 @@ public class DateTimeSettings extends SettingsPreferenceFragment
mAutoTimePref = (CheckBoxPreference) findPreference(KEY_AUTO_TIME); mAutoTimePref = (CheckBoxPreference) findPreference(KEY_AUTO_TIME);
mAutoTimePref.setChecked(autoTimeEnabled); mAutoTimePref.setChecked(autoTimeEnabled);
mAutoTimeZonePref = (CheckBoxPreference) findPreference(KEY_AUTO_TIME_ZONE); mAutoTimeZonePref = (CheckBoxPreference) findPreference(KEY_AUTO_TIME_ZONE);
// Override auto-timezone if it's a wifi-only device.
// TODO: Remove this when auto-timezone is implemented based on wifi-location.
if (Utils.isWifiOnly()) {
getPreferenceScreen().removePreference(mAutoTimeZonePref);
autoTimeZoneEnabled = false;
}
mAutoTimeZonePref.setChecked(autoTimeZoneEnabled); mAutoTimeZonePref.setChecked(autoTimeZoneEnabled);
mTimePref = findPreference("time"); mTimePref = findPreference("time");
@@ -125,7 +131,6 @@ public class DateTimeSettings extends SettingsPreferenceFragment
mTimeZone.setEnabled(!autoTimeZoneEnabled); mTimeZone.setEnabled(!autoTimeZoneEnabled);
} }
@Override @Override
public void onResume() { public void onResume() {
super.onResume(); super.onResume();

View File

@@ -39,6 +39,7 @@ import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
public class DeviceInfoSettings extends SettingsPreferenceFragment { public class DeviceInfoSettings extends SettingsPreferenceFragment {
private static final String TAG = "DeviceInfoSettings"; private static final String TAG = "DeviceInfoSettings";
private static final String KEY_CONTAINER = "container"; private static final String KEY_CONTAINER = "container";
@@ -49,6 +50,11 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment {
private static final String KEY_COPYRIGHT = "copyright"; private static final String KEY_COPYRIGHT = "copyright";
private static final String KEY_SYSTEM_UPDATE_SETTINGS = "system_update_settings"; private static final String KEY_SYSTEM_UPDATE_SETTINGS = "system_update_settings";
private static final String PROPERTY_URL_SAFETYLEGAL = "ro.url.safetylegal"; private static final String PROPERTY_URL_SAFETYLEGAL = "ro.url.safetylegal";
private static final String KEY_KERNEL_VERSION = "kernel_version";
private static final String KEY_BUILD_NUMBER = "build_number";
private static final String KEY_DEVICE_MODEL = "device_model";
private static final String KEY_BASEBAND_VERSION = "baseband_version";
private static final String KEY_FIRMWARE_VERSION = "firmware_version";
long[] mHits = new long[3]; long[] mHits = new long[3];
@@ -69,17 +75,22 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment {
getPreferenceScreen().removePreference(findPreference("system_tutorial")); getPreferenceScreen().removePreference(findPreference("system_tutorial"));
} }
setStringSummary("firmware_version", Build.VERSION.RELEASE); setStringSummary(KEY_FIRMWARE_VERSION, Build.VERSION.RELEASE);
findPreference("firmware_version").setEnabled(true); findPreference(KEY_FIRMWARE_VERSION).setEnabled(true);
setValueSummary("baseband_version", "gsm.version.baseband"); setValueSummary(KEY_BASEBAND_VERSION, "gsm.version.baseband");
setStringSummary("device_model", Build.MODEL); setStringSummary(KEY_DEVICE_MODEL, Build.MODEL);
setStringSummary("build_number", Build.DISPLAY); setStringSummary(KEY_BUILD_NUMBER, Build.DISPLAY);
findPreference("kernel_version").setSummary(getFormattedKernelVersion()); findPreference(KEY_KERNEL_VERSION).setSummary(getFormattedKernelVersion());
// Remove Safety information preference if PROPERTY_URL_SAFETYLEGAL is not set // Remove Safety information preference if PROPERTY_URL_SAFETYLEGAL is not set
removePreferenceIfPropertyMissing(getPreferenceScreen(), "safetylegal", removePreferenceIfPropertyMissing(getPreferenceScreen(), "safetylegal",
PROPERTY_URL_SAFETYLEGAL); PROPERTY_URL_SAFETYLEGAL);
// Remove Baseband version if wifi-only device
if (Utils.isWifiOnly()) {
getPreferenceScreen().removePreference(findPreference(KEY_BASEBAND_VERSION));
}
/* /*
* Settings is a generic app and should not contain any device-specific * Settings is a generic app and should not contain any device-specific
* info. * info.
@@ -107,7 +118,7 @@ public class DeviceInfoSettings extends SettingsPreferenceFragment {
@Override @Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) { public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (preference.getKey().equals("firmware_version")) { if (preference.getKey().equals(KEY_FIRMWARE_VERSION)) {
System.arraycopy(mHits, 1, mHits, 0, mHits.length-1); System.arraycopy(mHits, 1, mHits, 0, mHits.length-1);
mHits[mHits.length-1] = SystemClock.uptimeMillis(); mHits[mHits.length-1] = SystemClock.uptimeMillis();
if (mHits[0] >= (SystemClock.uptimeMillis()-500)) { if (mHits[0] >= (SystemClock.uptimeMillis()-500)) {

View File

@@ -25,6 +25,8 @@ import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Resources; import android.content.res.Resources;
import android.content.res.Resources.NotFoundException; import android.content.res.Resources.NotFoundException;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.net.ConnectivityManager;
import android.net.LinkProperties;
import android.os.Bundle; import android.os.Bundle;
import android.os.SystemProperties; import android.os.SystemProperties;
import android.preference.Preference; import android.preference.Preference;
@@ -33,6 +35,8 @@ import android.preference.PreferenceActivity.Header;
import android.telephony.TelephonyManager; import android.telephony.TelephonyManager;
import android.text.TextUtils; import android.text.TextUtils;
import java.net.InetAddress;
import java.util.Iterator;
import java.util.List; import java.util.List;
public class Utils { public class Utils {
@@ -282,4 +286,26 @@ public class Utils {
public static boolean isWifiOnly() { public static boolean isWifiOnly() {
return "wifi-only".equals(SystemProperties.get("ro.carrier")); return "wifi-only".equals(SystemProperties.get("ro.carrier"));
} }
/**
* Returns the WIFI IP Addresses, if any, taking into account IPv4 and IPv6 style addresses.
* @param context the application context
* @return the formatted and comma-separated IP addresses, or null if none.
*/
public static String getWifiIpAddresses(Context context) {
ConnectivityManager cm = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
LinkProperties prop = cm.getLinkProperties(ConnectivityManager.TYPE_WIFI);
if (prop == null) return null;
Iterator<InetAddress> iter = prop.getAddresses().iterator();
// If there are no entries, return null
if (!iter.hasNext()) return null;
// Concatenate all available addresses, comma separated
String addresses = "";
while (iter.hasNext()) {
addresses += iter.next().getHostAddress();
if (iter.hasNext()) addresses += ", ";
}
return addresses;
}
} }

View File

@@ -64,6 +64,7 @@ import java.lang.ref.WeakReference;
*/ */
public class Status extends PreferenceActivity { public class Status extends PreferenceActivity {
private static final String KEY_DATA_STATE = "data_state";
private static final String KEY_SERVICE_STATE = "service_state"; private static final String KEY_SERVICE_STATE = "service_state";
private static final String KEY_OPERATOR_NAME = "operator_name"; private static final String KEY_OPERATOR_NAME = "operator_name";
private static final String KEY_ROAMING_STATE = "roaming_state"; private static final String KEY_ROAMING_STATE = "roaming_state";
@@ -77,10 +78,26 @@ public class Status extends PreferenceActivity {
private static final String KEY_SIGNAL_STRENGTH = "signal_strength"; private static final String KEY_SIGNAL_STRENGTH = "signal_strength";
private static final String KEY_BATTERY_STATUS = "battery_status"; private static final String KEY_BATTERY_STATUS = "battery_status";
private static final String KEY_BATTERY_LEVEL = "battery_level"; private static final String KEY_BATTERY_LEVEL = "battery_level";
private static final String KEY_WIFI_IP_ADDRESS = "wifi_ip_address";
private static final String KEY_WIFI_MAC_ADDRESS = "wifi_mac_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_BT_ADDRESS = "bt_address";
private static final String KEY_SERIAL_NUMBER = "serial_number"; private static final String KEY_SERIAL_NUMBER = "serial_number";
private static final String[] PHONE_RELATED_ENTRIES = {
KEY_DATA_STATE,
KEY_SERVICE_STATE,
KEY_OPERATOR_NAME,
KEY_ROAMING_STATE,
KEY_NETWORK_TYPE,
KEY_PHONE_NUMBER,
KEY_IMEI,
KEY_IMEI_SV,
KEY_PRL_VERSION,
KEY_MIN_NUMBER,
KEY_MEID_NUMBER,
KEY_SIGNAL_STRENGTH
};
private static final int EVENT_SIGNAL_STRENGTH_CHANGED = 200; private static final int EVENT_SIGNAL_STRENGTH_CHANGED = 200;
private static final int EVENT_SERVICE_STATE_CHANGED = 300; private static final int EVENT_SERVICE_STATE_CHANGED = 300;
@@ -200,42 +217,49 @@ public class Status extends PreferenceActivity {
mSignalStrength = findPreference(KEY_SIGNAL_STRENGTH); mSignalStrength = findPreference(KEY_SIGNAL_STRENGTH);
mUptime = findPreference("up_time"); mUptime = findPreference("up_time");
//NOTE "imei" is the "Device ID" since it represents the IMEI in GSM and the MEID in CDMA if (Utils.isWifiOnly()) {
if (mPhone.getPhoneName().equals("CDMA")) { for (String key : PHONE_RELATED_ENTRIES) {
setSummaryText(KEY_MEID_NUMBER, mPhone.getMeid()); removePreferenceFromScreen(key);
setSummaryText(KEY_MIN_NUMBER, mPhone.getCdmaMin()); }
setSummaryText(KEY_PRL_VERSION, mPhone.getCdmaPrlVersion());
// device is not GSM/UMTS, do not display GSM/UMTS features
// check Null in case no specified preference in overlay xml
removePreferenceFromScreen(KEY_IMEI);
removePreferenceFromScreen(KEY_IMEI_SV);
} else { } else {
setSummaryText(KEY_IMEI, mPhone.getDeviceId()); // NOTE "imei" is the "Device ID" since it represents
// the IMEI in GSM and the MEID in CDMA
if (mPhone.getPhoneName().equals("CDMA")) {
setSummaryText(KEY_MEID_NUMBER, mPhone.getMeid());
setSummaryText(KEY_MIN_NUMBER, mPhone.getCdmaMin());
setSummaryText(KEY_PRL_VERSION, mPhone.getCdmaPrlVersion());
setSummaryText(KEY_IMEI_SV, // device is not GSM/UMTS, do not display GSM/UMTS features
((TelephonyManager) getSystemService(TELEPHONY_SERVICE)) // check Null in case no specified preference in overlay xml
.getDeviceSoftwareVersion()); removePreferenceFromScreen(KEY_IMEI);
removePreferenceFromScreen(KEY_IMEI_SV);
} else {
setSummaryText(KEY_IMEI, mPhone.getDeviceId());
// device is not CDMA, do not display CDMA features setSummaryText(KEY_IMEI_SV,
// check Null in case no specified preference in overlay xml ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
removePreferenceFromScreen(KEY_PRL_VERSION); .getDeviceSoftwareVersion());
removePreferenceFromScreen(KEY_MEID_NUMBER);
removePreferenceFromScreen(KEY_MIN_NUMBER); // device is not CDMA, do not display CDMA features
// check Null in case no specified preference in overlay xml
removePreferenceFromScreen(KEY_PRL_VERSION);
removePreferenceFromScreen(KEY_MEID_NUMBER);
removePreferenceFromScreen(KEY_MIN_NUMBER);
}
String rawNumber = mPhone.getLine1Number(); // may be null or empty
String formattedNumber = null;
if (!TextUtils.isEmpty(rawNumber)) {
formattedNumber = PhoneNumberUtils.formatNumber(rawNumber);
}
// If formattedNumber is null or empty, it'll display as "Unknown".
setSummaryText(KEY_PHONE_NUMBER, formattedNumber);
mPhoneStateReceiver = new PhoneStateIntentReceiver(this, mHandler);
mPhoneStateReceiver.notifySignalStrength(EVENT_SIGNAL_STRENGTH_CHANGED);
mPhoneStateReceiver.notifyServiceState(EVENT_SERVICE_STATE_CHANGED);
} }
String rawNumber = mPhone.getLine1Number(); // may be null or empty
String formattedNumber = null;
if (!TextUtils.isEmpty(rawNumber)) {
formattedNumber = PhoneNumberUtils.formatNumber(rawNumber);
}
// If formattedNumber is null or empty, it'll display as "Unknown".
setSummaryText(KEY_PHONE_NUMBER, formattedNumber);
mPhoneStateReceiver = new PhoneStateIntentReceiver(this, mHandler);
mPhoneStateReceiver.notifySignalStrength(EVENT_SIGNAL_STRENGTH_CHANGED);
mPhoneStateReceiver.notifyServiceState(EVENT_SERVICE_STATE_CHANGED);
setWifiStatus(); setWifiStatus();
setBtStatus(); setBtStatus();
@@ -251,16 +275,17 @@ public class Status extends PreferenceActivity {
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
mPhoneStateReceiver.registerIntent(); if (!Utils.isWifiOnly()) {
mPhoneStateReceiver.registerIntent();
updateSignalStrength();
updateServiceState(mPhone.getServiceState());
updateDataState();
mTelephonyManager.listen(mPhoneStateListener,
PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
}
registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
updateSignalStrength();
updateServiceState(mPhone.getServiceState());
updateDataState();
mTelephonyManager.listen(mPhoneStateListener,
PhoneStateListener.LISTEN_DATA_CONNECTION_STATE);
mHandler.sendEmptyMessage(EVENT_UPDATE_STATS); mHandler.sendEmptyMessage(EVENT_UPDATE_STATS);
} }
@@ -268,8 +293,10 @@ public class Status extends PreferenceActivity {
public void onPause() { public void onPause() {
super.onPause(); super.onPause();
mPhoneStateReceiver.unregisterIntent(); if (!Utils.isWifiOnly()) {
mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); mPhoneStateReceiver.unregisterIntent();
mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE);
}
unregisterReceiver(mBatteryInfoReceiver); unregisterReceiver(mBatteryInfoReceiver);
mHandler.removeMessages(EVENT_UPDATE_STATS); mHandler.removeMessages(EVENT_UPDATE_STATS);
} }
@@ -333,7 +360,7 @@ public class Status extends PreferenceActivity {
break; break;
} }
setSummaryText("data_state", display); setSummaryText(KEY_DATA_STATE, display);
} }
private void updateServiceState(ServiceState serviceState) { private void updateServiceState(ServiceState serviceState) {
@@ -401,6 +428,14 @@ public class Status extends PreferenceActivity {
String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress(); String macAddress = wifiInfo == null ? null : wifiInfo.getMacAddress();
wifiMacAddressPref.setSummary(!TextUtils.isEmpty(macAddress) ? macAddress wifiMacAddressPref.setSummary(!TextUtils.isEmpty(macAddress) ? macAddress
: getString(R.string.status_unavailable)); : getString(R.string.status_unavailable));
Preference wifiIpAddressPref = findPreference(KEY_WIFI_IP_ADDRESS);
String ipAddress = Utils.getWifiIpAddresses(this);
if (ipAddress != null) {
wifiIpAddressPref.setSummary(ipAddress);
} else {
wifiIpAddressPref.setSummary(getString(R.string.status_unavailable));
}
} }
private void setBtStatus() { private void setBtStatus() {

View File

@@ -173,6 +173,7 @@ public class BatteryHistoryChart extends View {
int mBatHigh; int mBatHigh;
boolean mHaveWifi; boolean mHaveWifi;
boolean mHaveGps; boolean mHaveGps;
boolean mHavePhoneSignal;
public BatteryHistoryChart(Context context, AttributeSet attrs) { public BatteryHistoryChart(Context context, AttributeSet attrs) {
super(context, attrs); super(context, attrs);
@@ -377,7 +378,9 @@ public class BatteryHistoryChart extends View {
mNumHist = lastInteresting; mNumHist = lastInteresting;
mHaveGps = (aggrStates&HistoryItem.STATE_GPS_ON_FLAG) != 0; mHaveGps = (aggrStates&HistoryItem.STATE_GPS_ON_FLAG) != 0;
mHaveWifi = (aggrStates&HistoryItem.STATE_WIFI_RUNNING_FLAG) != 0; mHaveWifi = (aggrStates&HistoryItem.STATE_WIFI_RUNNING_FLAG) != 0;
if (!com.android.settings.Utils.isWifiOnly()) {
mHavePhoneSignal = true;
}
if (mHistEnd <= mHistStart) mHistEnd = mHistStart+1; if (mHistEnd <= mHistStart) mHistEnd = mHistStart+1;
mTotalDurationString = Utils.formatElapsedTime(getContext(), mHistEnd - mHistStart); mTotalDurationString = Utils.formatElapsedTime(getContext(), mHistEnd - mHistStart);
} }
@@ -421,7 +424,9 @@ public class BatteryHistoryChart extends View {
if (lastWakeLock) { if (lastWakeLock) {
mWakeLockPath.lineTo(w, h-mWakeLockOffset); mWakeLockPath.lineTo(w, h-mWakeLockOffset);
} }
mPhoneSignalChart.finish(w); if (mHavePhoneSignal) {
mPhoneSignalChart.finish(w);
}
} }
@Override @Override
@@ -467,15 +472,19 @@ public class BatteryHistoryChart extends View {
mWifiRunningOffset = mWakeLockOffset + barOffset; mWifiRunningOffset = mWakeLockOffset + barOffset;
mGpsOnOffset = mWifiRunningOffset + (mHaveWifi ? barOffset : 0); mGpsOnOffset = mWifiRunningOffset + (mHaveWifi ? barOffset : 0);
mPhoneSignalOffset = mGpsOnOffset + (mHaveGps ? barOffset : 0); mPhoneSignalOffset = mGpsOnOffset + (mHaveGps ? barOffset : 0);
mLevelOffset = mPhoneSignalOffset + barOffset + mLineWidth; mLevelOffset = mPhoneSignalOffset + (mHavePhoneSignal ? barOffset : 0) + mLineWidth;
mPhoneSignalChart.init(w); if (mHavePhoneSignal) {
mPhoneSignalChart.init(w);
}
} else { } else {
mScreenOnOffset = mGpsOnOffset = mWifiRunningOffset mScreenOnOffset = mGpsOnOffset = mWifiRunningOffset
= mWakeLockOffset = mLineWidth; = mWakeLockOffset = mLineWidth;
mChargingOffset = mLineWidth*2; mChargingOffset = mLineWidth*2;
mPhoneSignalOffset = 0; mPhoneSignalOffset = 0;
mLevelOffset = mLineWidth*3; mLevelOffset = mLineWidth*3;
mPhoneSignalChart.init(0); if (mHavePhoneSignal) {
mPhoneSignalChart.init(0);
}
} }
mBatLevelPath.reset(); mBatLevelPath.reset();
@@ -597,7 +606,7 @@ public class BatteryHistoryChart extends View {
lastWakeLock = wakeLock; lastWakeLock = wakeLock;
} }
if (mLargeMode) { if (mLargeMode && mHavePhoneSignal) {
int bin; int bin;
if (((rec.states&HistoryItem.STATE_PHONE_STATE_MASK) if (((rec.states&HistoryItem.STATE_PHONE_STATE_MASK)
>> HistoryItem.STATE_PHONE_STATE_SHIFT) >> HistoryItem.STATE_PHONE_STATE_SHIFT)
@@ -661,8 +670,10 @@ public class BatteryHistoryChart extends View {
if (!mBatCriticalPath.isEmpty()) { if (!mBatCriticalPath.isEmpty()) {
canvas.drawPath(mBatCriticalPath, mBatteryCriticalPaint); canvas.drawPath(mBatCriticalPath, mBatteryCriticalPaint);
} }
int top = height-mPhoneSignalOffset - (mLineWidth/2); int top = height - (mHavePhoneSignal ? mPhoneSignalOffset - (mLineWidth/2) : 0);
mPhoneSignalChart.draw(canvas, top, mLineWidth); if (mHavePhoneSignal) {
mPhoneSignalChart.draw(canvas, top, mLineWidth);
}
if (!mScreenOnPath.isEmpty()) { if (!mScreenOnPath.isEmpty()) {
canvas.drawPath(mScreenOnPath, mScreenOnPaint); canvas.drawPath(mScreenOnPath, mScreenOnPaint);
} }
@@ -684,8 +695,10 @@ public class BatteryHistoryChart extends View {
} }
if (mLargeMode) { if (mLargeMode) {
canvas.drawText(mPhoneSignalLabel, 0, if (mHavePhoneSignal) {
height - mPhoneSignalOffset - mTextDescent, mTextPaint); canvas.drawText(mPhoneSignalLabel, 0,
height - mPhoneSignalOffset - mTextDescent, mTextPaint);
}
if (mHaveGps) { if (mHaveGps) {
canvas.drawText(mGpsOnLabel, 0, canvas.drawText(mGpsOnLabel, 0,
height - mGpsOnOffset - mTextDescent, mTextPaint); height - mGpsOnOffset - mTextDescent, mTextPaint);

View File

@@ -683,7 +683,10 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable {
addWiFiUsage(uSecNow); addWiFiUsage(uSecNow);
addBluetoothUsage(uSecNow); addBluetoothUsage(uSecNow);
addIdleUsage(uSecNow); // Not including cellular idle power addIdleUsage(uSecNow); // Not including cellular idle power
addRadioUsage(uSecNow); // Don't compute radio usage if it's a wifi-only device
if (!com.android.settings.Utils.isWifiOnly()) {
addRadioUsage(uSecNow);
}
} }
private BatterySipper addEntry(String label, DrainType drainType, long time, int iconId, private BatterySipper addEntry(String label, DrainType drainType, long time, int iconId,

View File

@@ -18,6 +18,7 @@ package com.android.settings.wifi;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsPreferenceFragment; import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import android.app.Activity; import android.app.Activity;
import android.content.Context; import android.content.Context;
@@ -103,16 +104,7 @@ public class AdvancedSettings extends SettingsPreferenceFragment
: getActivity().getString(R.string.status_unavailable)); : getActivity().getString(R.string.status_unavailable));
Preference wifiIpAddressPref = findPreference(KEY_CURRENT_IP_ADDRESS); Preference wifiIpAddressPref = findPreference(KEY_CURRENT_IP_ADDRESS);
String ipAddress = null; String ipAddress = Utils.getWifiIpAddresses(getActivity());
if (wifiInfo != null) {
long addr = wifiInfo.getIpAddress();
if (addr != 0) {
// handle negative values whe first octet > 127
if (addr < 0) addr += 0x100000000L;
ipAddress = String.format("%d.%d.%d.%d",
addr & 0xFF, (addr >> 8) & 0xFF, (addr >> 16) & 0xFF, (addr >> 24) & 0xFF);
}
}
wifiIpAddressPref.setSummary(ipAddress == null ? wifiIpAddressPref.setSummary(ipAddress == null ?
getActivity().getString(R.string.status_unavailable) : ipAddress); getActivity().getString(R.string.status_unavailable) : ipAddress);
} }