diff options
Diffstat (limited to 'src/com/android/settings/BatteryInfo.java')
-rw-r--r-- | src/com/android/settings/BatteryInfo.java | 208 |
1 files changed, 0 insertions, 208 deletions
diff --git a/src/com/android/settings/BatteryInfo.java b/src/com/android/settings/BatteryInfo.java deleted file mode 100644 index f9962fa..0000000 --- a/src/com/android/settings/BatteryInfo.java +++ /dev/null @@ -1,208 +0,0 @@ -/* - * Copyright (C) 2006 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; - -import android.app.Activity; -import android.content.BroadcastReceiver; -import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; -import android.os.BatteryManager; -import android.os.Bundle; -import android.os.Handler; -import android.os.IPowerManager; -import android.os.Message; -import android.os.RemoteException; -import android.os.ServiceManager; -import android.os.SystemClock; -import android.text.format.DateUtils; -import android.widget.TextView; - -import com.android.internal.app.IBatteryStats; - -public class BatteryInfo extends Activity { - private TextView mStatus; - private TextView mLevel; - private TextView mScale; - private TextView mHealth; - private TextView mVoltage; - private TextView mTemperature; - private TextView mTechnology; - private TextView mUptime; - private TextView mAwakeBattery; - private TextView mAwakePlugged; - private TextView mScreenOn; - private IBatteryStats mBatteryStats; - private IPowerManager mScreenStats; - - private static final int EVENT_TICK = 1; - - private Handler mHandler = new Handler() { - @Override - public void handleMessage(Message msg) { - switch (msg.what) { - case EVENT_TICK: - updateBatteryStats(); - sendEmptyMessageDelayed(EVENT_TICK, 1000); - break; - } - } - }; - - /** - * Format a number of tenths-units as a decimal string without using a - * conversion to float. E.g. 347 -> "34.7" - */ - private final String tenthsToFixedString(int x) { - int tens = x / 10; - return new String("" + tens + "." + (x - 10*tens)); - } - - /** - *Listens for intent broadcasts - */ - private IntentFilter mIntentFilter; - - private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() { - @Override - public void onReceive(Context context, Intent intent) { - String action = intent.getAction(); - if (action.equals(Intent.ACTION_BATTERY_CHANGED)) { - int plugType = intent.getIntExtra("plugged", 0); - - mLevel.setText("" + intent.getIntExtra("level", 0)); - mScale.setText("" + intent.getIntExtra("scale", 0)); - mVoltage.setText("" + intent.getIntExtra("voltage", 0) + " " - + getString(R.string.battery_info_voltage_units)); - mTemperature.setText("" + tenthsToFixedString(intent.getIntExtra("temperature", 0)) - + getString(R.string.battery_info_temperature_units)); - mTechnology.setText("" + intent.getStringExtra("technology")); - - int status = intent.getIntExtra("status", BatteryManager.BATTERY_STATUS_UNKNOWN); - String statusString; - if (status == BatteryManager.BATTERY_STATUS_CHARGING) { - statusString = getString(R.string.battery_info_status_charging); - if (plugType > 0) { - statusString = statusString + " " + getString( - (plugType == BatteryManager.BATTERY_PLUGGED_AC) - ? R.string.battery_info_status_charging_ac - : R.string.battery_info_status_charging_usb); - } - } else if (status == BatteryManager.BATTERY_STATUS_DISCHARGING) { - statusString = getString(R.string.battery_info_status_discharging); - } else if (status == BatteryManager.BATTERY_STATUS_NOT_CHARGING) { - statusString = getString(R.string.battery_info_status_not_charging); - } else if (status == BatteryManager.BATTERY_STATUS_FULL) { - statusString = getString(R.string.battery_info_status_full); - } else { - statusString = getString(R.string.battery_info_status_unknown); - } - mStatus.setText(statusString); - - int health = intent.getIntExtra("health", BatteryManager.BATTERY_HEALTH_UNKNOWN); - String healthString; - if (health == BatteryManager.BATTERY_HEALTH_GOOD) { - healthString = getString(R.string.battery_info_health_good); - } else if (health == BatteryManager.BATTERY_HEALTH_OVERHEAT) { - healthString = getString(R.string.battery_info_health_overheat); - } else if (health == BatteryManager.BATTERY_HEALTH_DEAD) { - healthString = getString(R.string.battery_info_health_dead); - } else if (health == BatteryManager.BATTERY_HEALTH_OVER_VOLTAGE) { - healthString = getString(R.string.battery_info_health_over_voltage); - } else if (health == BatteryManager.BATTERY_HEALTH_UNSPECIFIED_FAILURE) { - healthString = getString(R.string.battery_info_health_unspecified_failure); - } else { - healthString = getString(R.string.battery_info_health_unknown); - } - mHealth.setText(healthString); - } - } - }; - - @Override - public void onCreate(Bundle icicle) { - super.onCreate(icicle); - - setContentView(R.layout.battery_info); - - // create the IntentFilter that will be used to listen - // to battery status broadcasts - mIntentFilter = new IntentFilter(); - mIntentFilter.addAction(Intent.ACTION_BATTERY_CHANGED); - } - - @Override - public void onResume() { - super.onResume(); - - mStatus = (TextView)findViewById(R.id.status); - mLevel = (TextView)findViewById(R.id.level); - mScale = (TextView)findViewById(R.id.scale); - mHealth = (TextView)findViewById(R.id.health); - mTechnology = (TextView)findViewById(R.id.technology); - mVoltage = (TextView)findViewById(R.id.voltage); - mTemperature = (TextView)findViewById(R.id.temperature); - mUptime = (TextView) findViewById(R.id.uptime); - mAwakeBattery = (TextView) findViewById(R.id.awakeBattery); - mAwakePlugged = (TextView) findViewById(R.id.awakePlugged); - mScreenOn = (TextView) findViewById(R.id.screenOn); - - // Get awake time plugged in and on battery - mBatteryStats = IBatteryStats.Stub.asInterface(ServiceManager.getService("batteryinfo")); - mScreenStats = IPowerManager.Stub.asInterface(ServiceManager.getService(POWER_SERVICE)); - mHandler.sendEmptyMessageDelayed(EVENT_TICK, 1000); - - registerReceiver(mIntentReceiver, mIntentFilter); - } - - @Override - public void onPause() { - super.onPause(); - mHandler.removeMessages(EVENT_TICK); - - // we are no longer on the screen stop the observers - unregisterReceiver(mIntentReceiver); - } - - private void updateBatteryStats() { - long uptime = SystemClock.elapsedRealtime(); - mUptime.setText(DateUtils.formatElapsedTime(uptime / 1000)); - - if (mBatteryStats != null) { - try { - long awakeTimeBattery = mBatteryStats.getAwakeTimeBattery() / 1000; - long awakeTimePluggedIn = mBatteryStats.getAwakeTimePlugged() / 1000; - mAwakeBattery.setText(DateUtils.formatElapsedTime(awakeTimeBattery / 1000) - + " (" + (100 * awakeTimeBattery / uptime) + "%)"); - mAwakePlugged.setText(DateUtils.formatElapsedTime(awakeTimePluggedIn / 1000) - + " (" + (100 * awakeTimePluggedIn / uptime) + "%)"); - } catch (RemoteException re) { - mAwakeBattery.setText("Unknown"); - mAwakePlugged.setText("Unknown"); - } - } - if (mScreenStats != null) { - try { - long screenOnTime = mScreenStats.getScreenOnTime(); - mScreenOn.setText(DateUtils.formatElapsedTime(screenOnTime / 1000)); - } catch (RemoteException re) { - mScreenOn.setText("Unknown"); - } - } - } - -} |