Replace the isWorkProfile method from the SettingsLib
Replace the isWorkProfile() in the Settings with the common method
defined in the SettingsLib to avoid duplicate code
Bug: 306329984
Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.fuelgauge"
Change-Id: Ic9b18e6b80c23f9d4fc200080224daa27cbf4a4d
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
index 9fb70fa..bfa501c 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
@@ -63,7 +63,7 @@
}
final String action = intent.getAction();
Log.d(TAG, "onReceive:" + action);
- if (DatabaseUtils.isWorkProfile(context)) {
+ if (com.android.settingslib.fuelgauge.BatteryUtils.isWorkProfile(context)) {
Log.w(TAG, "do nothing for work profile action=" + action);
return;
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java
index 4f2ee79..095a65a 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java
@@ -37,6 +37,7 @@
import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotDao;
import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotEntity;
+import com.android.settingslib.fuelgauge.BatteryUtils;
import java.time.Clock;
import java.time.Duration;
@@ -109,7 +110,7 @@
@Override
public boolean onCreate() {
- if (DatabaseUtils.isWorkProfile(getContext())) {
+ if (BatteryUtils.isWorkProfile(getContext())) {
Log.w(TAG, "do not create provider for work profile");
return false;
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
index 94f9dc3..dd48483 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
@@ -27,6 +27,7 @@
import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
import com.android.settings.fuelgauge.batteryusage.bugreport.BatteryUsageLogUtils;
import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.fuelgauge.BatteryUtils;
import java.time.Duration;
@@ -56,7 +57,7 @@
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent == null ? "" : intent.getAction();
- if (DatabaseUtils.isWorkProfile(context)) {
+ if (BatteryUtils.isWorkProfile(context)) {
Log.w(TAG, "do not start job for work profile action=" + action);
return;
}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
index f96ed5b..7160da4 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
@@ -159,12 +159,6 @@
private DatabaseUtils() {}
- /** Returns true if current user is a work profile user. */
- public static boolean isWorkProfile(Context context) {
- final UserManager userManager = context.getSystemService(UserManager.class);
- return userManager.isManagedProfile();
- }
-
/** Returns the latest timestamp current user data in app usage event table. */
public static long getAppUsageStartTimestampOfUser(
Context context, final long userId, final long earliestTimestamp) {
@@ -502,7 +496,7 @@
/** Returns the context with profile parent identity when current user is work profile. */
public static Context getParentContext(Context context) {
- if (isWorkProfile(context)) {
+ if (com.android.settingslib.fuelgauge.BatteryUtils.isWorkProfile(context)) {
try {
return context.createPackageContextAsUser(
/* packageName= */ context.getPackageName(),
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
index bd77feb..5c73adb 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
@@ -24,6 +24,7 @@
import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
import com.android.settings.fuelgauge.batteryusage.bugreport.BatteryUsageLogUtils;
+import com.android.settingslib.fuelgauge.BatteryUtils;
/** Receives the periodic alarm {@link PendingIntent} callback. */
public final class PeriodicJobReceiver extends BroadcastReceiver {
@@ -49,7 +50,7 @@
Log.w(TAG, "receive unexpected action=" + action);
return;
}
- if (DatabaseUtils.isWorkProfile(context)) {
+ if (BatteryUtils.isWorkProfile(context)) {
BatteryUsageLogUtils.writeLog(
context, Action.SCHEDULE_JOB, "do not refresh job for work profile");
Log.w(TAG, "do not refresh job for work profile action=" + action);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
index 7dc7700..ff953e7 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
@@ -23,7 +23,7 @@
import android.net.Uri;
import android.util.Log;
-import com.android.settings.fuelgauge.batteryusage.DatabaseUtils;
+import com.android.settingslib.fuelgauge.BatteryUtils;
import java.io.FileDescriptor;
import java.io.PrintWriter;
@@ -49,7 +49,7 @@
Log.w(TAG, "failed to dump BatteryUsage state: null application context");
return;
}
- if (DatabaseUtils.isWorkProfile(context)) {
+ if (BatteryUtils.isWorkProfile(context)) {
Log.w(TAG, "ignore battery usage states dump in the work profile");
return;
}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
index c31a2b6..d89e61b 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
@@ -92,17 +92,6 @@
}
@Test
- public void isWorkProfile_defaultValue_returnFalse() {
- assertThat(DatabaseUtils.isWorkProfile(mContext)).isFalse();
- }
-
- @Test
- public void isWorkProfile_withManagedUser_returnTrue() {
- BatteryTestUtils.setWorkProfile(mContext);
- assertThat(DatabaseUtils.isWorkProfile(mContext)).isTrue();
- }
-
- @Test
public void sendAppUsageEventData_returnsExpectedList() {
// Configures the testing AppUsageEvent data.
final List<AppUsageEvent> appUsageEventList = new ArrayList<>();