Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit beb60889 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android Git Automerger
Browse files

am 0171fdba: Merge "Fix issue #15185822: Stability: ArithmeticException:...

am 0171fdba: Merge "Fix issue #15185822: Stability: ArithmeticException: divide by zero" into lmp-preview-dev

* commit '0171fdba':
  Fix issue #15185822: Stability: ArithmeticException: divide by zero
parents 29b915d5 0171fdba
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -19,7 +19,7 @@
        xmlns:app="http://schemas.android.com/apk/res/com.android.settings"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="128dp"
    android:minHeight="@dimen/battery_history_chart_height"
    android:gravity="center_vertical"
    android:id="@+android:id/battery_history_chart"
    android:paddingEnd="?android:attr/scrollbarSize"
+19 −0
Original line number Diff line number Diff line
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2014 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.
-->

<resources>
    <dimen name="battery_history_chart_height">160dp</dimen>
</resources>
+2 −0
Original line number Diff line number Diff line
@@ -29,6 +29,8 @@
    <dimen name="bind_app_widget_dialog_checkbox_bottom_padding">16dip</dimen>
    <dimen name="installed_app_details_bullet_offset">8dip</dimen>

    <dimen name="battery_history_chart_height">120dp</dimen>

    <dimen name="data_usage_chart_height">252dip</dimen>
    <dimen name="data_usage_chart_optimalWidth">440dip</dimen>

+14 −2
Original line number Diff line number Diff line
@@ -661,6 +661,13 @@ public class BatteryHistoryChart extends View {
            return;
        }

        if (mLastWidth == 0 || mLastHeight == 0) {
            return;
        }

        mLastWidth = w;
        mLastHeight = h;

        int textHeight = mTextDescent - mTextAscent;
        int headerTextHeight = mHeaderTextDescent - mHeaderTextAscent;
        if (h > (textHeight*12)) {
@@ -736,11 +743,18 @@ public class BatteryHistoryChart extends View {
        mCpuRunningPath.reset();
        mChargingPath.reset();

        mTimeLabels.clear();
        mDateLabels.clear();

        final long walltimeStart = mStartWallTime;
        final long walltimeChange = mEndWallTime-walltimeStart;
        long curWalltime = 0;
        long lastRealtime = 0;

        if (walltimeChange == 0) {
            return;
        }

        final int batLow = mBatLow;
        final int batChange = mBatHigh-mBatLow;

@@ -924,7 +938,6 @@ public class BatteryHistoryChart extends View {
        }

        // Create the time labels at the bottom.
        mTimeLabels.clear();
        boolean is24hr = is24Hour();
        Calendar calStart = Calendar.getInstance();
        calStart.setTimeInMillis(mStartWallTime);
@@ -957,7 +970,6 @@ public class BatteryHistoryChart extends View {
        }

        // Create the date labels if the chart includes multiple days
        mDateLabels.clear();
        if (calStart.get(Calendar.DAY_OF_YEAR) != calEnd.get(Calendar.DAY_OF_YEAR) ||
                calStart.get(Calendar.YEAR) != calEnd.get(Calendar.YEAR)) {
            boolean isDayFirst = isDayFirst();
+19 −2
Original line number Diff line number Diff line
@@ -82,8 +82,9 @@ public class PowerUsageSummary extends PreferenceFragment {
            String action = intent.getAction();
            if (Intent.ACTION_BATTERY_CHANGED.equals(action)
                    && updateBatteryStatus(intent)) {
                mStatsHelper.clearStats();
                refreshStats();
                if (!mHandler.hasMessages(MSG_REFRESH_STATS)) {
                    mHandler.sendEmptyMessageDelayed(MSG_REFRESH_STATS, 500);
                }
            }
        }
    };
@@ -110,6 +111,10 @@ public class PowerUsageSummary extends PreferenceFragment {
        super.onResume();
        updateBatteryStatus(getActivity().registerReceiver(mBatteryInfoReceiver,
                new IntentFilter(Intent.ACTION_BATTERY_CHANGED)));
        if (mHandler.hasMessages(MSG_REFRESH_STATS)) {
            mHandler.removeMessages(MSG_REFRESH_STATS);
            mStatsHelper.clearStats();
        }
        refreshStats();
    }

@@ -121,6 +126,12 @@ public class PowerUsageSummary extends PreferenceFragment {
        super.onPause();
    }

    @Override
    public void onStop() {
        super.onStop();
        mHandler.removeMessages(MSG_REFRESH_STATS);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
@@ -189,6 +200,7 @@ public class PowerUsageSummary extends PreferenceFragment {
            case MENU_STATS_REFRESH:
                mStatsHelper.clearStats();
                refreshStats();
                mHandler.removeMessages(MSG_REFRESH_STATS);
                return true;
            default:
                return false;
@@ -258,6 +270,8 @@ public class PowerUsageSummary extends PreferenceFragment {
        BatteryEntry.startRequestQueue();
    }

    static final int MSG_REFRESH_STATS = 100;

    Handler mHandler = new Handler() {

        @Override
@@ -279,6 +293,9 @@ public class PowerUsageSummary extends PreferenceFragment {
                        activity.reportFullyDrawn();
                    }
                    break;
                case MSG_REFRESH_STATS:
                    mStatsHelper.clearStats();
                    refreshStats();
            }
            super.handleMessage(msg);
        }