From 7007b112288c71c0cba584e2580f0935714b0975 Mon Sep 17 00:00:00 2001 From: ykhung Date: Fri, 24 Nov 2023 11:05:29 +0800 Subject: [PATCH] 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 --- .../batteryusage/BatteryUsageBroadcastReceiver.java | 2 +- .../batteryusage/BatteryUsageContentProvider.java | 3 ++- .../fuelgauge/batteryusage/BootBroadcastReceiver.java | 3 ++- .../fuelgauge/batteryusage/DatabaseUtils.java | 8 +------- .../fuelgauge/batteryusage/PeriodicJobReceiver.java | 3 ++- .../bugreport/BugReportContentProvider.java | 4 ++-- .../fuelgauge/batteryusage/DatabaseUtilsTest.java | 11 ----------- 7 files changed, 10 insertions(+), 24 deletions(-) diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java index 9fb70faa636..bfa501c16aa 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java +++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java @@ -63,7 +63,7 @@ public final class BatteryUsageBroadcastReceiver extends BroadcastReceiver { } 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 4f2ee79d367..095a65a8e10 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.BatteryStateDao; 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 @@ public class BatteryUsageContentProvider extends ContentProvider { @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 94f9dc397c2..dd4848393fa 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.core.instrumentation.ElapsedTimeUtils; 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 @@ public final class BootBroadcastReceiver extends BroadcastReceiver { @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 f96ed5bcbd6..7160da4290e 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java +++ b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java @@ -159,12 +159,6 @@ public final class DatabaseUtils { 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 @@ public final class DatabaseUtils { /** 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 bd77feb66d2..5c73adb69f9 100644 --- a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java +++ b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java @@ -24,6 +24,7 @@ import android.util.Log; 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 @@ public final class PeriodicJobReceiver extends BroadcastReceiver { 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 7dc7700b001..ff953e77f86 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.database.Cursor; 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 @@ public final class BugReportContentProvider extends ContentProvider { 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 c31a2b634b0..d89e61b00ea 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java @@ -91,17 +91,6 @@ public final class DatabaseUtilsTest { DataProcessor.sUsageStatsManager = mUsageStatsManager; } - @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.