Refactor flags of Power Anomaly Tips in Settings Intelligence.(1/2)

- Remove unused flag is_battery_tips_feedback_enabled
- Update logic about is_battery_tips_enabled

Bug: 284893240
Test: Manual
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:24e269dd0a63b5cb98fec791708cfe294b5aa47c)
Change-Id: I826f517aa61e0c970048164706c4512ac3e0472d
This commit is contained in:
mxyyiyi
2023-09-05 18:25:04 +08:00
committed by Xinyi Mao
parent 632604d5b2
commit 2c0242bed3
7 changed files with 6 additions and 58 deletions

View File

@@ -43,11 +43,6 @@ public interface PowerUsageFeatureProvider {
*/ */
boolean isBatteryTipsEnabled(); boolean isBatteryTipsEnabled();
/**
* Check whether the feedback card is enabled in the battery tips card
*/
boolean isBatteryTipsFeedbackEnabled();
/** /**
* Returns a threshold (in milliseconds) for the minimal screen on time in battery usage list * Returns a threshold (in milliseconds) for the minimal screen on time in battery usage list
*/ */

View File

@@ -80,11 +80,6 @@ public class PowerUsageFeatureProviderImpl implements PowerUsageFeatureProvider
return false; return false;
} }
@Override
public boolean isBatteryTipsFeedbackEnabled() {
return false;
}
@Override @Override
public double getBatteryUsageListScreenOnTimeThresholdInMs() { public double getBatteryUsageListScreenOnTimeThresholdInMs() {
return 0; return 0;

View File

@@ -374,9 +374,6 @@ public class BatteryChartPreferenceController extends AbstractPreferenceControll
} }
mOnBatteryUsageUpdatedListener.onBatteryUsageUpdated( mOnBatteryUsageUpdatedListener.onBatteryUsageUpdated(
slotUsageData, getSlotInformation(), isBatteryUsageMapNullOrEmpty()); slotUsageData, getSlotInformation(), isBatteryUsageMapNullOrEmpty());
Log.d(TAG, "isBatteryTipsEnabled = "
+ mPowerUsageFeatureProvider.isBatteryTipsEnabled());
if (mOnBatteryTipsUpdatedListener != null) { if (mOnBatteryTipsUpdatedListener != null) {
mExecutor.execute(() -> { mExecutor.execute(() -> {
final PowerAnomalyEventList anomalyEventList = mPowerUsageFeatureProvider final PowerAnomalyEventList anomalyEventList = mPowerUsageFeatureProvider

View File

@@ -22,7 +22,6 @@ import android.os.Bundle;
import android.text.TextUtils; import android.text.TextUtils;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.view.View; import android.view.View;
import android.widget.ImageButton;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.TextView; import android.widget.TextView;
@@ -34,7 +33,6 @@ import androidx.preference.PreferenceViewHolder;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.core.SubSettingLauncher; import com.android.settings.core.SubSettingLauncher;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -47,7 +45,6 @@ public class BatteryTipsCardPreference extends Preference implements View.OnClic
private static final String TAG = "BatteryTipsCardPreference"; private static final String TAG = "BatteryTipsCardPreference";
private final PowerUsageFeatureProvider mPowerUsageFeatureProvider;
private final MetricsFeatureProvider mMetricsFeatureProvider; private final MetricsFeatureProvider mMetricsFeatureProvider;
private String mAnomalyEventId; private String mAnomalyEventId;
@@ -71,7 +68,6 @@ public class BatteryTipsCardPreference extends Preference implements View.OnClic
setLayoutResource(R.layout.battery_tips_card); setLayoutResource(R.layout.battery_tips_card);
setSelectable(false); setSelectable(false);
final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory(); final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
mPowerUsageFeatureProvider = featureFactory.getPowerUsageFeatureProvider();
mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider(); mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
mPowerAnomalyKey = null; mPowerAnomalyKey = null;
} }
@@ -191,17 +187,5 @@ public class BatteryTipsCardPreference extends Preference implements View.OnClic
if (mIconResourceId != 0) { if (mIconResourceId != 0) {
((ImageView) view.findViewById(R.id.icon)).setImageResource(mIconResourceId); ((ImageView) view.findViewById(R.id.icon)).setImageResource(mIconResourceId);
} }
if (!mPowerUsageFeatureProvider.isBatteryTipsFeedbackEnabled()) {
return;
}
view.findViewById(R.id.tips_card)
.setBackgroundResource(R.drawable.battery_tips_half_rounded_top_bg);
view.findViewById(R.id.feedback_card).setVisibility(View.VISIBLE);
ImageButton thumbUpButton = (ImageButton) view.findViewById(R.id.thumb_up);
thumbUpButton.setOnClickListener(this);
ImageButton thumbDownButton = (ImageButton) view.findViewById(R.id.thumb_down);
thumbDownButton.setOnClickListener(this);
} }
} }

View File

@@ -25,7 +25,6 @@ import androidx.preference.PreferenceScreen;
import com.android.internal.annotations.VisibleForTesting; import com.android.internal.annotations.VisibleForTesting;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider; import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -38,7 +37,6 @@ public class BatteryTipsController extends BasePreferenceController {
private static final String ROOT_PREFERENCE_KEY = "battery_tips_category"; private static final String ROOT_PREFERENCE_KEY = "battery_tips_category";
private static final String CARD_PREFERENCE_KEY = "battery_tips_card"; private static final String CARD_PREFERENCE_KEY = "battery_tips_card";
private final PowerUsageFeatureProvider mPowerUsageFeatureProvider;
private final MetricsFeatureProvider mMetricsFeatureProvider; private final MetricsFeatureProvider mMetricsFeatureProvider;
@VisibleForTesting @VisibleForTesting
@@ -47,14 +45,9 @@ public class BatteryTipsController extends BasePreferenceController {
public BatteryTipsController(Context context) { public BatteryTipsController(Context context) {
super(context, ROOT_PREFERENCE_KEY); super(context, ROOT_PREFERENCE_KEY);
final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory(); final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
mPowerUsageFeatureProvider = featureFactory.getPowerUsageFeatureProvider();
mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider(); mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
} }
private boolean isTipsCardVisible() {
return mPowerUsageFeatureProvider.isBatteryTipsEnabled();
}
@Override @Override
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
return AVAILABLE; return AVAILABLE;
@@ -102,12 +95,7 @@ public class BatteryTipsController extends BasePreferenceController {
: getStringFromResource(resourceId, resourceIndex); : getStringFromResource(resourceId, resourceIndex);
} }
@VisibleForTesting
void handleBatteryTipsCardUpdated(PowerAnomalyEvent powerAnomalyEvent) { void handleBatteryTipsCardUpdated(PowerAnomalyEvent powerAnomalyEvent) {
if (!isTipsCardVisible()) {
mCardPreference.setVisible(false);
return;
}
if (powerAnomalyEvent == null) { if (powerAnomalyEvent == null) {
mCardPreference.setVisible(false); mCardPreference.setVisible(false);
return; return;

View File

@@ -35,8 +35,6 @@ import androidx.loader.content.Loader;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.SettingsActivity; import com.android.settings.SettingsActivity;
import com.android.settings.fuelgauge.BatteryBroadcastReceiver; import com.android.settings.fuelgauge.BatteryBroadcastReceiver;
import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider; import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.search.SearchIndexable; import com.android.settingslib.search.SearchIndexable;
@@ -138,30 +136,25 @@ public class PowerUsageAdvanced extends PowerUsageBase {
mBatteryChartPreferenceController = mBatteryChartPreferenceController =
new BatteryChartPreferenceController( new BatteryChartPreferenceController(
context, getSettingsLifecycle(), (SettingsActivity) getActivity()); context, getSettingsLifecycle(), (SettingsActivity) getActivity());
ScreenOnTimeController screenOnTimeController = new ScreenOnTimeController(context); final ScreenOnTimeController screenOnTimeController = new ScreenOnTimeController(context);
BatteryUsageBreakdownController batteryUsageBreakdownController = final BatteryUsageBreakdownController batteryUsageBreakdownController =
new BatteryUsageBreakdownController( new BatteryUsageBreakdownController(
context, getSettingsLifecycle(), (SettingsActivity) getActivity(), this); context, getSettingsLifecycle(), (SettingsActivity) getActivity(), this);
final BatteryTipsController batteryTipsController = new BatteryTipsController(context);
mBatteryChartPreferenceController.setOnScreenOnTimeUpdatedListener( mBatteryChartPreferenceController.setOnScreenOnTimeUpdatedListener(
screenOnTimeController::handleSceenOnTimeUpdated); screenOnTimeController::handleSceenOnTimeUpdated);
mBatteryChartPreferenceController.setOnBatteryUsageUpdatedListener( mBatteryChartPreferenceController.setOnBatteryUsageUpdatedListener(
batteryUsageBreakdownController::handleBatteryUsageUpdated); batteryUsageBreakdownController::handleBatteryUsageUpdated);
mBatteryChartPreferenceController.setOnBatteryTipsUpdatedListener(
batteryTipsController::handleBatteryTipsCardUpdated);
controllers.add(mBatteryChartPreferenceController); controllers.add(mBatteryChartPreferenceController);
controllers.add(screenOnTimeController); controllers.add(screenOnTimeController);
controllers.add(batteryUsageBreakdownController); controllers.add(batteryUsageBreakdownController);
controllers.add(batteryTipsController);
setBatteryChartPreferenceController(); setBatteryChartPreferenceController();
final PowerUsageFeatureProvider powerUsageFeatureProvider =
FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
if (powerUsageFeatureProvider.isBatteryTipsEnabled()) {
BatteryTipsController batteryTipsController = new BatteryTipsController(context);
mBatteryChartPreferenceController.setOnBatteryTipsUpdatedListener(
batteryTipsController::handleBatteryTipsCardUpdated);
controllers.add(batteryTipsController);
}
return controllers; return controllers;
} }

View File

@@ -72,10 +72,6 @@ public class PowerUsageFeatureProviderImplTest {
assertThat(mPowerFeatureProvider.isBatteryTipsEnabled()).isFalse(); assertThat(mPowerFeatureProvider.isBatteryTipsEnabled()).isFalse();
} }
@Test
public void testIsBatteryTipsFeedbackEnabled_returnFalse() {
assertThat(mPowerFeatureProvider.isBatteryTipsFeedbackEnabled()).isFalse();
}
@Test @Test
public void testGetBatteryUsageListConsumePowerThreshold_return0() { public void testGetBatteryUsageListConsumePowerThreshold_return0() {
assertThat(mPowerFeatureProvider.getBatteryUsageListConsumePowerThreshold()).isEqualTo(0.0); assertThat(mPowerFeatureProvider.getBatteryUsageListConsumePowerThreshold()).isEqualTo(0.0);