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:
@@ -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"
|
||||||
|
@@ -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();
|
||||||
|
@@ -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)) {
|
||||||
|
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@@ -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() {
|
||||||
|
@@ -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);
|
||||||
|
@@ -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,
|
||||||
|
@@ -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);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user