Merge "Remove unneeded cast to SettingsActivity" into main
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
index e6f622c..74c9c68 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.fuelgauge.batterytip;
 
+import android.app.Activity;
 import android.content.Context;
 import android.os.BadParcelableException;
 import android.os.Bundle;
@@ -27,7 +28,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.SettingsActivity;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.InstrumentedPreferenceFragment;
 import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction;
@@ -52,7 +52,7 @@
     private BatteryTipListener mBatteryTipListener;
     private List<BatteryTip> mBatteryTips;
     private Map<String, BatteryTip> mBatteryTipMap;
-    private SettingsActivity mSettingsActivity;
+    private Activity mActivity;
     private MetricsFeatureProvider mMetricsFeatureProvider;
     private boolean mNeedUpdate;
     @VisibleForTesting TipCardPreference mCardPreference;
@@ -66,8 +66,8 @@
         mNeedUpdate = true;
     }
 
-    public void setActivity(SettingsActivity activity) {
-        mSettingsActivity = activity;
+    public void setActivity(Activity activity) {
+        mActivity = activity;
     }
 
     public void setFragment(InstrumentedPreferenceFragment fragment) {
@@ -126,7 +126,7 @@
             } else {
                 final BatteryTipAction action =
                         BatteryTipUtils.getActionForBatteryTip(
-                                batteryTip, mSettingsActivity, mFragment);
+                                batteryTip, mActivity, mFragment);
                 if (action != null) {
                     action.handlePositiveAction(mFragment.getMetricsCategory());
                 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java
index 7dc993c..c6603d7 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java
@@ -16,16 +16,15 @@
 
 package com.android.settings.fuelgauge.batterytip;
 
+import android.app.Activity;
 import android.app.AppOpsManager;
 import android.content.Context;
-import android.content.Intent;
 import android.os.UserHandle;
 import android.os.UserManager;
 
 import androidx.annotation.NonNull;
 
 import com.android.internal.util.CollectionUtils;
-import com.android.settings.SettingsActivity;
 import com.android.settings.core.InstrumentedPreferenceFragment;
 import com.android.settings.fuelgauge.batterytip.actions.BatteryTipAction;
 import com.android.settings.fuelgauge.batterytip.actions.OpenBatterySaverAction;
@@ -33,8 +32,6 @@
 import com.android.settings.fuelgauge.batterytip.actions.RestrictAppAction;
 import com.android.settings.fuelgauge.batterytip.actions.SmartBatteryAction;
 import com.android.settings.fuelgauge.batterytip.actions.UnrestrictAppAction;
-import com.android.settings.fuelgauge.batterytip.tips.AppLabelPredicate;
-import com.android.settings.fuelgauge.batterytip.tips.AppRestrictionPredicate;
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
 import com.android.settings.fuelgauge.batterytip.tips.RestrictAppTip;
 import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
@@ -52,7 +49,7 @@
             AppOpsManager appOpsManager, UserManager userManager) {
         final List<UserHandle> userHandles = userManager.getUserProfiles();
         final List<AppOpsManager.PackageOps> packageOpsList =
-                appOpsManager.getPackagesForOps(new int[] {AppOpsManager.OP_RUN_ANY_IN_BACKGROUND});
+                appOpsManager.getPackagesForOps(new int[]{AppOpsManager.OP_RUN_ANY_IN_BACKGROUND});
         final List<AppInfo> appInfos = new ArrayList<>();
 
         for (int i = 0, size = CollectionUtils.size(packageOpsList); i < size; i++) {
@@ -65,7 +62,7 @@
                 }
                 if (entry.getMode() != AppOpsManager.MODE_ALLOWED
                         && userHandles.contains(
-                                new UserHandle(UserHandle.getUserId(packageOps.getUid())))) {
+                            new UserHandle(UserHandle.getUserId(packageOps.getUid())))) {
                     appInfos.add(
                             new AppInfo.Builder()
                                     .setPackageName(packageOps.getPackageName())
@@ -82,34 +79,34 @@
      * Get a corresponding action based on {@code batteryTip}
      *
      * @param batteryTip used to detect which action to choose
-     * @param settingsActivity used to populate {@link BatteryTipAction}
-     * @param fragment used to populate {@link BatteryTipAction}
+     * @param activity   used to populate {@link BatteryTipAction}
+     * @param fragment   used to populate {@link BatteryTipAction}
      * @return an action for {@code batteryTip}
      */
     public static BatteryTipAction getActionForBatteryTip(
             BatteryTip batteryTip,
-            SettingsActivity settingsActivity,
+            Activity activity,
             InstrumentedPreferenceFragment fragment) {
         switch (batteryTip.getType()) {
             case BatteryTip.TipType.SMART_BATTERY_MANAGER:
-                return new SmartBatteryAction(settingsActivity, fragment);
+                return new SmartBatteryAction(activity, fragment);
             case BatteryTip.TipType.BATTERY_SAVER:
             case BatteryTip.TipType.LOW_BATTERY:
-                return new OpenBatterySaverAction(settingsActivity);
+                return new OpenBatterySaverAction(activity);
             case BatteryTip.TipType.APP_RESTRICTION:
                 if (batteryTip.getState() == BatteryTip.StateType.HANDLED) {
                     return new OpenRestrictAppFragmentAction(fragment, (RestrictAppTip) batteryTip);
                 } else {
-                    return new RestrictAppAction(settingsActivity, (RestrictAppTip) batteryTip);
+                    return new RestrictAppAction(activity, (RestrictAppTip) batteryTip);
                 }
             case BatteryTip.TipType.REMOVE_APP_RESTRICTION:
-                return new UnrestrictAppAction(settingsActivity, (UnrestrictAppTip) batteryTip);
+                return new UnrestrictAppAction(activity, (UnrestrictAppTip) batteryTip);
             default:
                 return null;
         }
     }
 
-   /** Detect and return anomaly apps after {@code timeAfterMs} */
+    /** Detect and return anomaly apps after {@code timeAfterMs} */
     public static List<AppInfo> detectAnomalies(Context context, long timeAfterMs) {
         return new ArrayList<>();
     }
diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
index 55c0031..b2d6647 100644
--- a/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
+++ b/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
@@ -16,23 +16,23 @@
 
 package com.android.settings.fuelgauge.batterytip.actions;
 
+import android.app.Activity;
 import android.app.settings.SettingsEnums;
 
 import androidx.fragment.app.Fragment;
 
 import com.android.settings.R;
-import com.android.settings.SettingsActivity;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.fuelgauge.SmartBatterySettings;
 import com.android.settingslib.core.instrumentation.Instrumentable;
 
 public class SmartBatteryAction extends BatteryTipAction {
-    private SettingsActivity mSettingsActivity;
+    private Activity mActivity;
     private Fragment mFragment;
 
-    public SmartBatteryAction(SettingsActivity settingsActivity, Fragment fragment) {
-        super(settingsActivity.getApplicationContext());
-        mSettingsActivity = settingsActivity;
+    public SmartBatteryAction(Activity activity, Fragment fragment) {
+        super(activity.getApplicationContext());
+        mActivity = activity;
         mFragment = fragment;
     }
 
@@ -41,7 +41,7 @@
     public void handlePositiveAction(int metricsKey) {
         mMetricsFeatureProvider.action(
                 mContext, SettingsEnums.ACTION_TIP_OPEN_SMART_BATTERY, metricsKey);
-        new SubSettingLauncher(mSettingsActivity)
+        new SubSettingLauncher(mActivity)
                 .setSourceMetricsCategory(
                         mFragment instanceof Instrumentable
                                 ? ((Instrumentable) mFragment).getMetricsCategory()
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
index 5ef820c..4c700d2 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
@@ -18,6 +18,7 @@
 
 import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpdateType;
 
+import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.database.ContentObserver;
@@ -32,7 +33,6 @@
 import androidx.preference.Preference;
 
 import com.android.settings.R;
-import com.android.settings.SettingsActivity;
 import com.android.settings.Utils;
 import com.android.settings.fuelgauge.BatteryHeaderPreferenceController;
 import com.android.settings.fuelgauge.BatteryInfo;
@@ -125,7 +125,7 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        final SettingsActivity activity = (SettingsActivity) getActivity();
+        final Activity activity = getActivity();
 
         mBatteryHeaderPreferenceController = use(BatteryHeaderPreferenceController.class);
 
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 19d5e59..0473228 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
@@ -37,13 +37,13 @@
 import android.os.Bundle;
 import android.provider.Settings;
 
+import androidx.fragment.app.FragmentActivity;
 import androidx.loader.app.LoaderManager;
 import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.SettingsActivity;
 import com.android.settings.fuelgauge.BatteryBroadcastReceiver;
 import com.android.settings.fuelgauge.BatteryInfo;
 import com.android.settings.fuelgauge.BatteryUtils;
@@ -82,7 +82,7 @@
         sAdditionalBatteryInfoIntent = new Intent("com.example.app.ADDITIONAL_BATTERY_INFO");
     }
 
-    @Mock private SettingsActivity mSettingsActivity;
+    @Mock private FragmentActivity mActivity;
     @Mock private LoaderManager mLoaderManager;
     @Mock private Loader<BatteryTip> mBatteryTipLoader;
     @Mock private Loader<BatteryInfo> mBatteryInfoLoader;
@@ -106,7 +106,7 @@
         mFragment = spy(new TestFragment(mRealContext, mLoaderManager));
         mFragment.initFeatureProvider();
         doNothing().when(mFragment).restartBatteryStatsLoader(anyInt());
-        when(mFragment.getActivity()).thenReturn(mSettingsActivity);
+        when(mFragment.getActivity()).thenReturn(mActivity);
         when(mFeatureFactory.powerUsageFeatureProvider.getAdditionalBatteryInfoIntent())
                 .thenReturn(sAdditionalBatteryInfoIntent);
         mFragment.mBatteryUtils = Mockito.spy(new BatteryUtils(mRealContext));