summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/BatteryInfo.java
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-03 18:28:52 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-03 18:28:52 -0800
commit4e14e5ccbf1ef27220419849133d482a546d5c04 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /src/com/android/settings/BatteryInfo.java
parenta578a6c4ad2924236a8882e3eb794474d57ca450 (diff)
downloadpackages_apps_Settings-4e14e5ccbf1ef27220419849133d482a546d5c04.zip
packages_apps_Settings-4e14e5ccbf1ef27220419849133d482a546d5c04.tar.gz
packages_apps_Settings-4e14e5ccbf1ef27220419849133d482a546d5c04.tar.bz2
auto import from //depot/cupcake/@135843
Diffstat (limited to 'src/com/android/settings/BatteryInfo.java')
-rw-r--r--src/com/android/settings/BatteryInfo.java208
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");
- }
- }
- }
-
-}