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

Commit 7307e645 authored by Bernardo Rufino's avatar Bernardo Rufino
Browse files

Check manifest if runtime state of app is DEFAULT

Before we were considering that the app was enabled in this case, which
might not be always true.

Bug: 80227098
Test: atest AppBackupUtilsTest
Test: Check app w/ manifest enabled="true" is backed-up, but
      enabled="false" is not.

Change-Id: I4625aa39ba0de45ce6689f2375245081a5d4d722
parent 04757769
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -126,7 +126,8 @@ public class AppBackupUtils {
            case PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER:
            case PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED:
                return true;

            case PackageManager.COMPONENT_ENABLED_STATE_DEFAULT:
                return !app.enabled;
            default:
                return false;
        }
+34 −0
Original line number Diff line number Diff line
@@ -213,6 +213,40 @@ public class AppBackupUtilsTest {
        assertThat(isEligible).isFalse();
    }

    @Test
    public void appIsDisabled_stateDefaultManifestEnabled_returnsFalse() throws Exception {
        ApplicationInfo applicationInfo = new ApplicationInfo();
        applicationInfo.flags = 0;
        applicationInfo.uid = Process.FIRST_APPLICATION_UID;
        applicationInfo.backupAgentName = CUSTOM_BACKUP_AGENT_NAME;
        applicationInfo.packageName = TEST_PACKAGE_NAME;
        applicationInfo.enabled = true;

        PackageManagerStub.sApplicationEnabledSetting =
                PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;

        boolean isDisabled = AppBackupUtils.appIsDisabled(applicationInfo, mPackageManagerStub);

        assertThat(isDisabled).isFalse();
    }

    @Test
    public void appIsDisabled_stateDefaultManifestDisabled_returnsTrue() throws Exception {
        ApplicationInfo applicationInfo = new ApplicationInfo();
        applicationInfo.flags = 0;
        applicationInfo.uid = Process.FIRST_APPLICATION_UID;
        applicationInfo.backupAgentName = CUSTOM_BACKUP_AGENT_NAME;
        applicationInfo.packageName = TEST_PACKAGE_NAME;
        applicationInfo.enabled = false;

        PackageManagerStub.sApplicationEnabledSetting =
                PackageManager.COMPONENT_ENABLED_STATE_DEFAULT;

        boolean isDisabled = AppBackupUtils.appIsDisabled(applicationInfo, mPackageManagerStub);

        assertThat(isDisabled).isTrue();
    }

    @Test
    public void appIsDisabled_stateEnabled_returnsFalse() throws Exception {
        ApplicationInfo applicationInfo = new ApplicationInfo();