diff --git a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java index c37f421c49f..49f676ed508 100644 --- a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java +++ b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java @@ -18,12 +18,10 @@ package com.android.settings.applications.appinfo; import android.content.Context; import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; import android.os.AsyncTask; import android.os.BatteryUsageStats; import android.os.Bundle; import android.os.UidBatteryConsumer; -import android.os.UserHandle; import android.os.UserManager; import android.util.Log; @@ -39,12 +37,10 @@ import com.android.settings.Utils; import com.android.settings.core.BasePreferenceController; import com.android.settings.fuelgauge.AdvancedPowerUsageDetail; import com.android.settings.fuelgauge.BatteryUtils; -import com.android.settings.fuelgauge.PowerUsageFeatureProvider; import com.android.settings.fuelgauge.batteryusage.BatteryChartPreferenceController; import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry; import com.android.settings.fuelgauge.batteryusage.BatteryEntry; import com.android.settings.fuelgauge.batteryusage.BatteryUsageStatsLoader; -import com.android.settings.overlay.FeatureFactory; import com.android.settingslib.applications.AppUtils; import com.android.settingslib.core.lifecycle.Lifecycle; import com.android.settingslib.core.lifecycle.LifecycleObserver; @@ -71,8 +67,6 @@ public class AppBatteryPreferenceController extends BasePreferenceController @VisibleForTesting BatteryDiffEntry mBatteryDiffEntry; @VisibleForTesting - boolean mIsChartGraphEnabled; - @VisibleForTesting final AppInfoDashboardFragment mParent; private Preference mPreference; @@ -91,7 +85,6 @@ public class AppBatteryPreferenceController extends BasePreferenceController mPackageName = packageName; mUid = uid; mUserId = mContext.getUserId(); - refreshFeatureFlag(mContext); if (lifecycle != null) { lifecycle.addObserver(this); } @@ -147,8 +140,7 @@ public class AppBatteryPreferenceController extends BasePreferenceController + entry.getUid() + " with BatteryEntry data"); AdvancedPowerUsageDetail.startBatteryDetailPage(mParent.getActivity(), mParent, entry, - mIsChartGraphEnabled ? Utils.formatPercentage(0) : mBatteryPercent, - !mIsChartGraphEnabled); + Utils.formatPercentage(0), /*isValidToShowSummary=*/ false); } else { Log.i(TAG, "Launch : " + mPackageName + " with package name"); AdvancedPowerUsageDetail.startBatteryDetailPage(mParent.getActivity(), mParent, @@ -194,16 +186,14 @@ public class AppBatteryPreferenceController extends BasePreferenceController @VisibleForTesting void updateBatteryWithDiffEntry() { - if (mIsChartGraphEnabled) { - if (mBatteryDiffEntry != null && mBatteryDiffEntry.mConsumePower > 0) { - mBatteryPercent = Utils.formatPercentage( - mBatteryDiffEntry.getPercentOfTotal(), /* round */ true); - mPreference.setSummary(mContext.getString( - R.string.battery_summary, mBatteryPercent)); - } else { - mPreference.setSummary( - mContext.getString(R.string.no_battery_summary)); - } + if (mBatteryDiffEntry != null && mBatteryDiffEntry.mConsumePower > 0) { + mBatteryPercent = Utils.formatPercentage( + mBatteryDiffEntry.getPercentOfTotal(), /* round */ true); + mPreference.setSummary(mContext.getString( + R.string.battery_summary, mBatteryPercent)); + } else { + mPreference.setSummary( + mContext.getString(R.string.no_battery_summary)); } mBatteryDiffEntriesLoaded = true; @@ -225,42 +215,9 @@ public class AppBatteryPreferenceController extends BasePreferenceController } } - private void refreshFeatureFlag(Context context) { - if (isWorkProfile(context)) { - try { - context = context.createPackageContextAsUser( - context.getPackageName(), 0, UserHandle.OWNER); - } catch (PackageManager.NameNotFoundException e) { - Log.e(TAG, "context.createPackageContextAsUser() fail: " + e); - } - } - - final PowerUsageFeatureProvider powerUsageFeatureProvider = - FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context); - mIsChartGraphEnabled = powerUsageFeatureProvider.isChartGraphEnabled(context); - } - - private boolean isWorkProfile(Context context) { - final UserManager userManager = context.getSystemService(UserManager.class); - return userManager.isManagedProfile() && !userManager.isSystemUser(); - } - - @VisibleForTesting - void updateBattery() { + private void updateBattery() { mBatteryUsageStatsLoaded = true; mPreference.setEnabled(mBatteryDiffEntriesLoaded); - if (mIsChartGraphEnabled) { - return; - } - if (isBatteryStatsAvailable()) { - final int percentOfMax = (int) mBatteryUtils.calculateBatteryPercent( - mUidBatteryConsumer.getConsumedPower(), mBatteryUsageStats.getConsumedPower(), - mBatteryUsageStats.getDischargePercentage()); - mBatteryPercent = Utils.formatPercentage(percentOfMax); - mPreference.setSummary(mContext.getString(R.string.battery_summary, mBatteryPercent)); - } else { - mPreference.setSummary(mContext.getString(R.string.no_battery_summary)); - } } @VisibleForTesting diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java index e3919b07ebf..c08a1b8985e 100644 --- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java +++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java @@ -480,15 +480,10 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements final String slotTime = bundle.getString(EXTRA_SLOT_TIME, null); final long totalTimeMs = foregroundTimeMs + backgroundTimeMs; final CharSequence usageTimeSummary; - final boolean isChartGraphEnabled = FeatureFactory.getFactory(getContext()) - .getPowerUsageFeatureProvider(getContext()).isChartGraphEnabled(getContext()); - if (!isChartGraphEnabled && BatteryEntry.isSystemUid(uid)) { - return null; - } if (totalTimeMs == 0) { usageTimeSummary = getText( - isChartGraphEnabled && consumedPower > 0 ? R.string.battery_usage_without_time + consumedPower > 0 ? R.string.battery_usage_without_time : R.string.battery_not_usage); } else if (slotTime == null) { // Shows summary text with last full charge if slot time is null. diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java index f6d153b1152..7a33a6231b2 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java +++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java @@ -123,11 +123,6 @@ public interface PowerUsageFeatureProvider { */ boolean isSmartBatterySupported(); - /** - * Checks whether we should enable chart graph design or not. - */ - boolean isChartGraphEnabled(Context context); - /** * Checks whether we should show usage information by slots or not. */ diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java index ed6b62229c6..3fe4275fa3c 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java +++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java @@ -138,11 +138,6 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider com.android.internal.R.bool.config_smart_battery_available); } - @Override - public boolean isChartGraphEnabled(Context context) { - return false; - } - @Override public boolean isChartGraphSlotsEnabled(Context context) { return false; diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java index 674822359be..c78b3c7e78f 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java +++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java @@ -19,8 +19,6 @@ package com.android.settings.fuelgauge.batteryusage; import android.content.Context; import android.os.BatteryUsageStats; import android.util.AttributeSet; -import android.util.Log; -import android.view.View; import android.widget.TextView; import androidx.annotation.NonNull; @@ -31,8 +29,6 @@ import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.fuelgauge.BatteryInfo; import com.android.settings.fuelgauge.BatteryUtils; -import com.android.settings.overlay.FeatureFactory; -import com.android.settings.widget.UsageView; /** * Custom preference for displaying the battery level as chart graph. @@ -40,50 +36,19 @@ import com.android.settings.widget.UsageView; public class BatteryHistoryPreference extends Preference { private static final String TAG = "BatteryHistoryPreference"; - @VisibleForTesting - boolean mHideSummary; @VisibleForTesting BatteryInfo mBatteryInfo; - private boolean mIsChartGraphEnabled; - - private TextView mSummaryView; - private CharSequence mSummaryContent; private BatteryChartView mDailyChartView; private BatteryChartView mHourlyChartView; private BatteryChartPreferenceController mChartPreferenceController; public BatteryHistoryPreference(Context context, AttributeSet attrs) { super(context, attrs); - mIsChartGraphEnabled = - FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context) - .isChartGraphEnabled(context); - Log.i(TAG, "isChartGraphEnabled: " + mIsChartGraphEnabled); - setLayoutResource( - mIsChartGraphEnabled - ? R.layout.battery_chart_graph - : R.layout.battery_usage_graph); + setLayoutResource(R.layout.battery_chart_graph); setSelectable(false); } - /** Sets the text of bottom summary. */ - public void setBottomSummary(CharSequence text) { - mSummaryContent = text; - if (mSummaryView != null) { - mSummaryView.setVisibility(View.VISIBLE); - mSummaryView.setText(mSummaryContent); - } - mHideSummary = false; - } - - /** Hides the bottom summary. */ - public void hideBottomSummary() { - if (mSummaryView != null) { - mSummaryView.setVisibility(View.GONE); - } - mHideSummary = true; - } - void setBatteryUsageStats(@NonNull BatteryUsageStats batteryUsageStats) { BatteryInfo.getBatteryInfo(getContext(), info -> { mBatteryInfo = info; @@ -105,28 +70,13 @@ public class BatteryHistoryPreference extends Preference { if (mBatteryInfo == null) { return; } - if (mIsChartGraphEnabled) { - final TextView companionTextView = (TextView) view.findViewById(R.id.companion_text); - mDailyChartView = (BatteryChartView) view.findViewById(R.id.daily_battery_chart); - mDailyChartView.setCompanionTextView(companionTextView); - mHourlyChartView = (BatteryChartView) view.findViewById(R.id.hourly_battery_chart); - mHourlyChartView.setCompanionTextView(companionTextView); - if (mChartPreferenceController != null) { - mChartPreferenceController.setBatteryChartView(mDailyChartView, mHourlyChartView); - } - } else { - final TextView chargeView = (TextView) view.findViewById(R.id.charge); - chargeView.setText(mBatteryInfo.batteryPercentString); - mSummaryView = (TextView) view.findViewById(R.id.bottom_summary); - if (mSummaryContent != null) { - mSummaryView.setText(mSummaryContent); - } - if (mHideSummary) { - mSummaryView.setVisibility(View.GONE); - } - final UsageView usageView = (UsageView) view.findViewById(R.id.battery_usage); - usageView.findViewById(R.id.label_group).setAlpha(.7f); - mBatteryInfo.bindHistory(usageView); + final TextView companionTextView = (TextView) view.findViewById(R.id.companion_text); + mDailyChartView = (BatteryChartView) view.findViewById(R.id.daily_battery_chart); + mDailyChartView.setCompanionTextView(companionTextView); + mHourlyChartView = (BatteryChartView) view.findViewById(R.id.hourly_battery_chart); + mHourlyChartView.setCompanionTextView(companionTextView); + if (mChartPreferenceController != null) { + mChartPreferenceController.setBatteryChartView(mDailyChartView, mHourlyChartView); } BatteryUtils.logRuntime(TAG, "onBindViewHolder", startTime); } diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java index 1c1e6a576de..7b085f794a4 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java +++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java @@ -19,11 +19,8 @@ import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpd import android.app.settings.SettingsEnums; import android.content.Context; -import android.content.Intent; -import android.content.IntentFilter; import android.database.ContentObserver; import android.net.Uri; -import android.os.BatteryManager; import android.os.Bundle; import android.os.Handler; import android.provider.SearchIndexableResource; @@ -66,10 +63,8 @@ public class PowerUsageAdvanced extends PowerUsageBase { new BatteryHistoryLoaderCallbacks(); private boolean mIsChartDataLoaded = false; - private boolean mIsChartGraphEnabled = false; private PowerUsageFeatureProvider mPowerUsageFeatureProvider; private BatteryChartPreferenceController mBatteryChartPreferenceController; - private BatteryAppListPreferenceController mBatteryAppListPreferenceController; private final ContentObserver mBatteryObserver = new ContentObserver(new Handler()) { @@ -88,11 +83,7 @@ public class PowerUsageAdvanced extends PowerUsageBase { final Context context = getContext(); refreshFeatureFlag(context); mHistPref = (BatteryHistoryPreference) findPreference(KEY_BATTERY_GRAPH); - if (mIsChartGraphEnabled) { - setBatteryChartPreferenceController(); - } else { - updateHistPrefSummary(context); - } + setBatteryChartPreferenceController(); } @Override @@ -143,19 +134,11 @@ public class PowerUsageAdvanced extends PowerUsageBase { protected List createPreferenceControllers(Context context) { refreshFeatureFlag(context); final List controllers = new ArrayList<>(); - // Creates based on the chart design is enabled or not. - if (mIsChartGraphEnabled) { - mBatteryChartPreferenceController = - new BatteryChartPreferenceController(context, KEY_APP_LIST, - getSettingsLifecycle(), (SettingsActivity) getActivity(), this); - controllers.add(mBatteryChartPreferenceController); - setBatteryChartPreferenceController(); - } else { - mBatteryAppListPreferenceController = - new BatteryAppListPreferenceController(context, KEY_APP_LIST, - getSettingsLifecycle(), (SettingsActivity) getActivity(), this); - controllers.add(mBatteryAppListPreferenceController); - } + mBatteryChartPreferenceController = + new BatteryChartPreferenceController(context, KEY_APP_LIST, + getSettingsLifecycle(), (SettingsActivity) getActivity(), this); + controllers.add(mBatteryChartPreferenceController); + setBatteryChartPreferenceController(); return controllers; } @@ -171,11 +154,6 @@ public class PowerUsageAdvanced extends PowerUsageBase { return; } updatePreference(mHistPref); - if (mBatteryAppListPreferenceController != null && mBatteryUsageStats != null) { - updateHistPrefSummary(context); - mBatteryAppListPreferenceController.refreshAppListGroup( - mBatteryUsageStats, /* showAllApps */true); - } if (mBatteryChartPreferenceController != null && mBatteryHistoryMap != null) { mBatteryChartPreferenceController.setBatteryHistoryMap(mBatteryHistoryMap); } @@ -185,25 +163,10 @@ public class PowerUsageAdvanced extends PowerUsageBase { protected void restartBatteryStatsLoader(int refreshType) { final Bundle bundle = new Bundle(); bundle.putInt(KEY_REFRESH_TYPE, refreshType); - // Uses customized battery history loader if chart design is enabled. - if (mIsChartGraphEnabled && !mIsChartDataLoaded) { + if (!mIsChartDataLoaded) { mIsChartDataLoaded = true; getLoaderManager().restartLoader(LOADER_BATTERY_USAGE_STATS, bundle, mBatteryHistoryLoaderCallbacks); - } else if (!mIsChartGraphEnabled) { - super.restartBatteryStatsLoader(refreshType); - } - } - - private void updateHistPrefSummary(Context context) { - final Intent batteryIntent = - context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED)); - final boolean plugged = batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) != 0; - if (mPowerUsageFeatureProvider.isEnhancedBatteryPredictionEnabled(context) && !plugged) { - mHistPref.setBottomSummary( - mPowerUsageFeatureProvider.getAdvancedUsageScreenInfoString()); - } else { - mHistPref.hideBottomSummary(); } } @@ -211,7 +174,6 @@ public class PowerUsageAdvanced extends PowerUsageBase { if (mPowerUsageFeatureProvider == null) { mPowerUsageFeatureProvider = FeatureFactory.getFactory(context) .getPowerUsageFeatureProvider(context); - mIsChartGraphEnabled = mPowerUsageFeatureProvider.isChartGraphEnabled(context); } } diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java index c95a50955d8..f4cb3f3948f 100644 --- a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java @@ -18,8 +18,6 @@ package com.android.settings.applications.appinfo; import static com.google.common.truth.Truth.assertThat; -import static org.mockito.ArgumentMatchers.anyDouble; -import static org.mockito.ArgumentMatchers.anyInt; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; @@ -132,33 +130,9 @@ public class AppBatteryPreferenceControllerTest { .isEqualTo(mUidBatteryConsumer); } - @Test - public void updateBattery_noBatteryStats_summaryNo() { - mController.displayPreference(mScreen); - - mController.updateBattery(); - - assertThat(mBatteryPreference.getSummary()) - .isEqualTo("No battery use since last full charge"); - } - - @Test - public void updateBattery_hasBatteryStats_summaryPercent() { - mController.mBatteryUsageStats = mBatteryUsageStats; - mController.mUidBatteryConsumer = mUidBatteryConsumer; - doReturn(BATTERY_LEVEL).when(mBatteryUtils).calculateBatteryPercent(anyDouble(), - anyDouble(), anyInt()); - mController.displayPreference(mScreen); - - mController.updateBattery(); - - assertThat(mBatteryPreference.getSummary()).isEqualTo("60% use since last full charge"); - } - @Test public void updateBatteryWithDiffEntry_noConsumePower_summaryNo() { mController.displayPreference(mScreen); - mController.mIsChartGraphEnabled = true; mController.updateBatteryWithDiffEntry(); @@ -169,7 +143,6 @@ public class AppBatteryPreferenceControllerTest { @Test public void updateBatteryWithDiffEntry_withConsumePower_summaryPercent() { mController.displayPreference(mScreen); - mController.mIsChartGraphEnabled = true; mBatteryDiffEntry.mConsumePower = 1; mController.mBatteryDiffEntry = mBatteryDiffEntry; when(mBatteryDiffEntry.getPercentOfTotal()).thenReturn(60.0); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java index f408c4b07f9..45e80891faa 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java @@ -154,8 +154,6 @@ public class AdvancedPowerUsageDetailTest { doReturn(APP_LABEL).when(mBundle).getString(nullable(String.class)); when(mFragment.getArguments()).thenReturn(mBundle); doReturn(mLoaderManager).when(mFragment).getLoaderManager(); - when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext)) - .thenReturn(true); ShadowEntityHeaderController.setUseMock(mEntityHeaderController); doReturn(mEntityHeaderController).when(mEntityHeaderController) @@ -271,144 +269,6 @@ public class AdvancedPowerUsageDetailTest { verify(mEntityHeaderController).setIsInstantApp(true); } - @Test - public void initHeader_noUsageTimeAndGraphDisabled_hasCorrectSummary() { - when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext)) - .thenReturn(false); - - Bundle bundle = new Bundle(2); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, /* value */ 0); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, /* value */ 0); - when(mFragment.getArguments()).thenReturn(bundle); - - mFragment.initHeader(); - - ArgumentCaptor captor = ArgumentCaptor.forClass(CharSequence.class); - verify(mEntityHeaderController).setSummary(captor.capture()); - assertThat(captor.getValue().toString()) - .isEqualTo("No usage from last full charge"); - } - - @Test - public void initHeader_bgTwoMinFgZeroAndGraphDisabled_hasCorrectSummary() { - when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext)) - .thenReturn(false); - - final long backgroundTimeTwoMinutes = 120000; - final long foregroundTimeZero = 0; - Bundle bundle = new Bundle(2); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeTwoMinutes); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeZero); - when(mFragment.getArguments()).thenReturn(bundle); - - mFragment.initHeader(); - - ArgumentCaptor captor = ArgumentCaptor.forClass(CharSequence.class); - verify(mEntityHeaderController).setSummary(captor.capture()); - assertThat(captor.getValue().toString()) - .isEqualTo("2 min background from last full charge"); - } - - @Test - public void initHeader_bgLessThanAMinFgZeroAndGraphDisabled_hasCorrectSummary() { - when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext)) - .thenReturn(false); - - final long backgroundTimeLessThanAMinute = 59999; - final long foregroundTimeZero = 0; - Bundle bundle = new Bundle(2); - bundle.putLong( - AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeLessThanAMinute); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeZero); - when(mFragment.getArguments()).thenReturn(bundle); - - mFragment.initHeader(); - - ArgumentCaptor captor = ArgumentCaptor.forClass(CharSequence.class); - verify(mEntityHeaderController).setSummary(captor.capture()); - assertThat(captor.getValue().toString()) - .isEqualTo("Background less than a minute from last full charge"); - } - - @Test - public void initHeader_totalUsageLessThanAMinAndGraphDisabled_hasCorrectSummary() { - when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext)) - .thenReturn(false); - - final long backgroundTimeLessThanHalfMinute = 20000; - final long foregroundTimeLessThanHalfMinute = 20000; - Bundle bundle = new Bundle(2); - bundle.putLong( - AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeLessThanHalfMinute); - bundle.putLong( - AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeLessThanHalfMinute); - when(mFragment.getArguments()).thenReturn(bundle); - - mFragment.initHeader(); - - ArgumentCaptor captor = ArgumentCaptor.forClass(CharSequence.class); - verify(mEntityHeaderController).setSummary(captor.capture()); - assertThat(captor.getValue().toString()) - .isEqualTo("Total less than a minute from last full charge"); - } - - @Test - public void initHeader_TotalAMinutesBgLessThanAMinAndGraphDisabled_hasCorrectSummary() { - when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext)) - .thenReturn(false); - - final long backgroundTimeZero = 59999; - final long foregroundTimeTwoMinutes = 1; - Bundle bundle = new Bundle(2); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeZero); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes); - when(mFragment.getArguments()).thenReturn(bundle); - - mFragment.initHeader(); - - ArgumentCaptor captor = ArgumentCaptor.forClass(CharSequence.class); - verify(mEntityHeaderController).setSummary(captor.capture()); - assertThat(captor.getValue().toString()) - .isEqualTo("1 min total • background less than a minute\nfrom last full charge"); - } - - @Test - public void initHeader_TotalAMinBackgroundZeroAndGraphDisabled_hasCorrectSummary() { - when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext)) - .thenReturn(false); - final long backgroundTimeZero = 0; - final long foregroundTimeAMinutes = 60000; - Bundle bundle = new Bundle(2); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeZero); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeAMinutes); - when(mFragment.getArguments()).thenReturn(bundle); - - mFragment.initHeader(); - - ArgumentCaptor captor = ArgumentCaptor.forClass(CharSequence.class); - verify(mEntityHeaderController).setSummary(captor.capture()); - assertThat(captor.getValue().toString()) - .isEqualTo("1 min total from last full charge"); - } - - @Test - public void initHeader_fgTwoMinBgFourMinAndGraphDisabled_hasCorrectSummary() { - when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext)) - .thenReturn(false); - final long backgroundTimeFourMinute = 240000; - final long foregroundTimeTwoMinutes = 120000; - Bundle bundle = new Bundle(2); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeFourMinute); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes); - when(mFragment.getArguments()).thenReturn(bundle); - mFragment.initHeader(); - - ArgumentCaptor captor = ArgumentCaptor.forClass(CharSequence.class); - verify(mEntityHeaderController).setSummary(captor.capture()); - assertThat(captor.getValue().toString()) - .isEqualTo("6 min total • 4 min background\nfrom last full charge"); - } - @Test public void initHeader_noUsageTime_hasCorrectSummary() { Bundle bundle = new Bundle(2); @@ -618,23 +478,6 @@ public class AdvancedPowerUsageDetailTest { .isEqualTo("6 min total • 4 min background\nfor 12 am-2 am"); } - @Test - public void initHeader_systemUidWithChartIsDisabled_nullSummary() { - Bundle bundle = new Bundle(3); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, 240000); - bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, 120000); - bundle.putInt(AdvancedPowerUsageDetail.EXTRA_UID, Process.SYSTEM_UID); - when(mFragment.getArguments()).thenReturn(bundle); - when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mContext)) - .thenReturn(false); - - mFragment.initHeader(); - - ArgumentCaptor captor = ArgumentCaptor.forClass(CharSequence.class); - verify(mEntityHeaderController).setSummary(captor.capture()); - assertThat(captor.getValue()).isNull(); - } - @Test public void initHeader_systemUidWithChartIsEnabled_notNullSummary() { Bundle bundle = new Bundle(3); diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java index 7017c43b20c..e14ead51bb7 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java @@ -15,10 +15,6 @@ */ package com.android.settings.fuelgauge.batteryusage; -import static com.google.common.truth.Truth.assertThat; - -import static org.mockito.ArgumentMatchers.anyInt; -import static org.mockito.ArgumentMatchers.nullable; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; @@ -32,7 +28,6 @@ import androidx.preference.PreferenceViewHolder; import com.android.settings.R; import com.android.settings.fuelgauge.BatteryInfo; -import com.android.settings.widget.UsageView; import org.junit.Before; import org.junit.Test; @@ -44,8 +39,6 @@ import org.robolectric.RuntimeEnvironment; @RunWith(RobolectricTestRunner.class) public class BatteryHistoryPreferenceTest { - - private static final String TEST_STRING = "test"; @Mock private PreferenceViewHolder mViewHolder; @Mock @@ -53,9 +46,9 @@ public class BatteryHistoryPreferenceTest { @Mock private TextView mTextView; @Mock - private UsageView mUsageView; + private BatteryChartView mDailyChartView; @Mock - private View mLabelView; + private BatteryChartView mHourlyChartView; private BatteryHistoryPreference mBatteryHistoryPreference; @Before @@ -63,44 +56,23 @@ public class BatteryHistoryPreferenceTest { MockitoAnnotations.initMocks(this); final Context context = RuntimeEnvironment.application; final View itemView = - LayoutInflater.from(context).inflate(R.layout.battery_usage_graph, null); + LayoutInflater.from(context).inflate(R.layout.battery_chart_graph, null); mBatteryHistoryPreference = new BatteryHistoryPreference(context, null); mBatteryHistoryPreference.mBatteryInfo = mBatteryInfo; mViewHolder = spy(PreferenceViewHolder.createInstanceForTests(itemView)); - when(mViewHolder.findViewById(R.id.battery_usage)).thenReturn(mUsageView); - when(mViewHolder.findViewById(R.id.charge)).thenReturn(mTextView); - when(mUsageView.findViewById(anyInt())).thenReturn(mLabelView); + when(mViewHolder.findViewById(R.id.daily_battery_chart)).thenReturn(mDailyChartView); + when(mViewHolder.findViewById(R.id.hourly_battery_chart)).thenReturn(mHourlyChartView); + when(mViewHolder.findViewById(R.id.companion_text)).thenReturn(mTextView); } @Test public void testOnBindViewHolder_updateBatteryUsage() { mBatteryHistoryPreference.onBindViewHolder(mViewHolder); - verify(mViewHolder).findViewById(R.id.battery_usage); - verify(mTextView).setText(nullable(String.class)); - verify(mBatteryInfo).bindHistory(mUsageView); - } - - @Test - public void testSetBottomSummary_updatesBottomSummaryTextIfSet() { - mBatteryHistoryPreference.setBottomSummary(TEST_STRING); - mBatteryHistoryPreference.onBindViewHolder(mViewHolder); - - TextView view = (TextView) mViewHolder.findViewById(R.id.bottom_summary); - assertThat(view.getVisibility()).isEqualTo(View.VISIBLE); - assertThat(view.getText()).isEqualTo(TEST_STRING); - assertThat(mBatteryHistoryPreference.mHideSummary).isFalse(); - } - - @Test - public void testSetBottomSummary_leavesBottomSummaryTextBlankIfNotSet() { - mBatteryHistoryPreference.hideBottomSummary(); - mBatteryHistoryPreference.onBindViewHolder(mViewHolder); - - TextView view = (TextView) mViewHolder.findViewById(R.id.bottom_summary); - assertThat(view.getVisibility()).isEqualTo(View.GONE); - assertThat(view.getText()).isEqualTo(""); - assertThat(mBatteryHistoryPreference.mHideSummary).isTrue(); + verify(mViewHolder).findViewById(R.id.daily_battery_chart); + verify(mDailyChartView).setCompanionTextView(mTextView); + verify(mViewHolder).findViewById(R.id.hourly_battery_chart); + verify(mHourlyChartView).setCompanionTextView(mTextView); } } diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java index c0494972f35..5cd6db01f43 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java @@ -113,8 +113,6 @@ public class PowerUsageSummaryTest { when(mFragment.getActivity()).thenReturn(mSettingsActivity); when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent()) .thenReturn(sAdditionalBatteryInfoIntent); - when(mFeatureFactory.powerUsageFeatureProvider.isChartGraphEnabled(mRealContext)) - .thenReturn(true); mFragment.mBatteryUtils = Mockito.spy(new BatteryUtils(mRealContext)); ReflectionHelpers.setField(mFragment, "mVisibilityLoggerMixin", mVisibilityLoggerMixin); ReflectionHelpers.setField(mFragment, "mBatteryBroadcastReceiver",