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

Commit b48d9f0e authored by Dongzhuo Zhang's avatar Dongzhuo Zhang
Browse files

Change to use android.provider.new_default_account_api_enabled flag to control...

Change to use android.provider.new_default_account_api_enabled flag to control the contacts storage settings launch.
Bug: 368641291
Flag: android.provider.new_default_account_api_enabled

Change-Id: I5d415daab83f1836d55d340ed0172c51ecf21622
parent cba64298
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -132,6 +132,7 @@ android_library {
    flags_packages: [
        "aconfig_settings_flags",
        "android.app.flags-aconfig",
        "android.provider.flags-aconfig",
    ],
}

+1 −1
Original line number Diff line number Diff line
@@ -5297,7 +5297,7 @@
            android:name="Settings$ContactsStorageSettingsActivity"
            android:label="@string/contacts_storage_settings_title"
            android:exported="true"
            android:featureFlag="com.android.settings.flags.enable_contacts_default_account_in_settings">
            android:featureFlag="android.provider.new_default_account_api_enabled">
            <intent-filter>
                <action android:name="android.provider.action.SET_DEFAULT_ACCOUNT" />
                <category android:name="android.intent.category.DEFAULT" />
+2 −2
Original line number Diff line number Diff line
@@ -21,11 +21,11 @@ import android.accounts.Account;
import android.content.Context;
import android.os.UserHandle;
import android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState;
import android.provider.Flags;
import android.util.Log;

import com.android.settings.R;
import com.android.settings.core.BasePreferenceController;
import com.android.settings.flags.Flags;
import com.android.settingslib.accounts.AuthenticatorHelper;

/**
@@ -54,7 +54,7 @@ public class ContactsStoragePreferenceController extends BasePreferenceControlle

    @Override
    public int getAvailabilityStatus() {
        return (Flags.enableContactsDefaultAccountInSettings()
        return (Flags.newDefaultAccountApiEnabled()
                && mCurrentDefaultAccountAndState != null) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
    }

+5 −5
Original line number Diff line number Diff line
@@ -43,9 +43,9 @@ import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.ContactsContract;
import android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState;
import android.provider.Flags;

import com.android.settings.R;
import com.android.settings.flags.Flags;
import com.android.settings.testutils.shadow.ShadowAuthenticationHelper;

import org.junit.Before;
@@ -108,20 +108,20 @@ public class ContactsStoragePreferenceControllerTest {
    }

    @Test
    @EnableFlags(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS)
    @EnableFlags(Flags.FLAG_NEW_DEFAULT_ACCOUNT_API_ENABLED)
    public void getAvailabilityStatus_flagIsOn_shouldReturnAvailable() {
        assertThat(mPreferenceController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
    }

    @Test
    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS)
    @RequiresFlagsDisabled(Flags.FLAG_NEW_DEFAULT_ACCOUNT_API_ENABLED)
    public void getAvailabilityStatus_flagIsOff_shouldReturnConditionallyUnavailable() {
        assertThat(mPreferenceController.getAvailabilityStatus()).isEqualTo(
                CONDITIONALLY_UNAVAILABLE);
    }

    @Test
    @EnableFlags(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS)
    @EnableFlags(Flags.FLAG_NEW_DEFAULT_ACCOUNT_API_ENABLED)
    public void getAvailabilityStatus_illegalStateExceptionThrown_shouldReturnConditionallyUnavailable()
            throws Exception {
        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
@@ -135,7 +135,7 @@ public class ContactsStoragePreferenceControllerTest {
    }

    @Test
    @EnableFlags(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS)
    @EnableFlags(Flags.FLAG_NEW_DEFAULT_ACCOUNT_API_ENABLED)
    public void getAvailabilityStatus_runtimeExceptionThrown_shouldReturnConditionallyUnavailable()
            throws Exception {
        when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),