Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 253eedec authored by Stephanie Bak's avatar Stephanie Bak
Browse files

Remove APM enhancement overlay

Overlay loading during boot was causing performance issues.
Enable the feature by default and remove overlay control

Bug: 285544941
Test: atest ServiceBluetoothTests
Change-Id: I02d8078ec1ffa28decde6cea1c34eda14b7244e6
parent a2092e87
Loading
Loading
Loading
Loading
+0 −3
Original line number Diff line number Diff line
@@ -191,7 +191,4 @@

    <!-- Boolean indicating if current platform supports HFP inband ringing -->
    <bool name="config_bluetooth_hfp_inband_ringing_support">true</bool>

    <!-- Boolean indicating if APM enhancement feature is enabled -->
    <bool name="config_bluetooth_apm_enhancement_enabled">true</bool>
</resources>
+9 −28
Original line number Diff line number Diff line
@@ -61,7 +61,6 @@ import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.database.ContentObserver;
import android.os.Binder;
import android.os.Bundle;
@@ -184,6 +183,10 @@ class BluetoothManagerService {
    private static final int FLAGS_SYSTEM_APP =
            ApplicationInfo.FLAG_SYSTEM | ApplicationInfo.FLAG_UPDATED_SYSTEM_APP;

    // APM enhancement feature is enabled by default
    // Set this value to 0 to disable the feature
    private static final int DEFAULT_APM_ENHANCEMENT_STATE = 1;

    private final Context mContext;

    private final UserManager mUserManager;
@@ -1559,36 +1562,14 @@ class BluetoothManagerService {
        if (mBluetoothAirplaneModeListener != null) {
            mBluetoothAirplaneModeListener.start(mBluetoothModeChangeHelper);
        }
        loadApmEnhancementStateFromResource();
        setApmEnhancementState();
    }

    /** Set BluetoothModeChangeHelper for testing */
    /** set APM enhancement feature state */
    @VisibleForTesting
    void setBluetoothModeChangeHelper(BluetoothModeChangeHelper bluetoothModeChangeHelper) {
        mBluetoothModeChangeHelper = bluetoothModeChangeHelper;
    }

    /** Load whether APM Enhancement feature should be enabled from overlay */
    @VisibleForTesting
    void loadApmEnhancementStateFromResource() {
        String btPackageName = mBluetoothModeChangeHelper.getBluetoothPackageName();
        if (btPackageName == null) {
            Log.e(TAG, "Unable to find Bluetooth package name with APM resources");
            return;
        }
        try {
            Resources resources =
                    mContext.getPackageManager().getResourcesForApplication(btPackageName);
            int apmEnhancement =
                    resources.getIdentifier(
                            "config_bluetooth_apm_enhancement_enabled", "bool", btPackageName);
    void setApmEnhancementState() {
        Settings.Global.putInt(
                    mContext.getContentResolver(),
                    APM_ENHANCEMENT,
                    resources.getBoolean(apmEnhancement) ? 1 : 0);
        } catch (Exception e) {
            Log.e(TAG, "Unable to set whether APM enhancement should be enabled");
        }
                mContext.getContentResolver(), APM_ENHANCEMENT, DEFAULT_APM_ENHANCEMENT_STATE);
    }

    /** Called when switching to a different foreground user. */
+1 −3
Original line number Diff line number Diff line
@@ -197,8 +197,6 @@ public class BluetoothManagerServiceTest {

    @Test
    public void testApmEnhancementEnabled() {
        mManagerService.setBluetoothModeChangeHelper(new BluetoothModeChangeHelper(mContext));

        // Change the apm enhancement enabled value to 0
        Settings.Global.putInt(mContext.getContentResolver(), "apm_enhancement_enabled", 0);
        assertThat(
@@ -207,7 +205,7 @@ public class BluetoothManagerServiceTest {
                .isEqualTo(0);

        // Confirm that apm enhancement enabled value has been updated to 1
        mManagerService.loadApmEnhancementStateFromResource();
        mManagerService.setApmEnhancementState();
        assertThat(
                        Settings.Global.getInt(
                                mContext.getContentResolver(), "apm_enhancement_enabled", 0))