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
This commit is contained in:
Dongzhuo Zhang
2024-10-22 22:47:22 +00:00
parent cba6429800
commit b48d9f0e56
4 changed files with 9 additions and 8 deletions

View File

@@ -132,6 +132,7 @@ android_library {
flags_packages: [ flags_packages: [
"aconfig_settings_flags", "aconfig_settings_flags",
"android.app.flags-aconfig", "android.app.flags-aconfig",
"android.provider.flags-aconfig",
], ],
} }

View File

@@ -5297,7 +5297,7 @@
android:name="Settings$ContactsStorageSettingsActivity" android:name="Settings$ContactsStorageSettingsActivity"
android:label="@string/contacts_storage_settings_title" android:label="@string/contacts_storage_settings_title"
android:exported="true" 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> <intent-filter>
<action android:name="android.provider.action.SET_DEFAULT_ACCOUNT" /> <action android:name="android.provider.action.SET_DEFAULT_ACCOUNT" />
<category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DEFAULT" />

View File

@@ -21,11 +21,11 @@ import android.accounts.Account;
import android.content.Context; import android.content.Context;
import android.os.UserHandle; import android.os.UserHandle;
import android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState; import android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState;
import android.provider.Flags;
import android.util.Log; import android.util.Log;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.core.BasePreferenceController; import com.android.settings.core.BasePreferenceController;
import com.android.settings.flags.Flags;
import com.android.settingslib.accounts.AuthenticatorHelper; import com.android.settingslib.accounts.AuthenticatorHelper;
/** /**
@@ -54,7 +54,7 @@ public class ContactsStoragePreferenceController extends BasePreferenceControlle
@Override @Override
public int getAvailabilityStatus() { public int getAvailabilityStatus() {
return (Flags.enableContactsDefaultAccountInSettings() return (Flags.newDefaultAccountApiEnabled()
&& mCurrentDefaultAccountAndState != null) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE; && mCurrentDefaultAccountAndState != null) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
} }

View File

@@ -43,9 +43,9 @@ import android.platform.test.flag.junit.DeviceFlagsValueProvider;
import android.platform.test.flag.junit.SetFlagsRule; import android.platform.test.flag.junit.SetFlagsRule;
import android.provider.ContactsContract; import android.provider.ContactsContract;
import android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState; import android.provider.ContactsContract.RawContacts.DefaultAccount.DefaultAccountAndState;
import android.provider.Flags;
import com.android.settings.R; import com.android.settings.R;
import com.android.settings.flags.Flags;
import com.android.settings.testutils.shadow.ShadowAuthenticationHelper; import com.android.settings.testutils.shadow.ShadowAuthenticationHelper;
import org.junit.Before; import org.junit.Before;
@@ -108,20 +108,20 @@ public class ContactsStoragePreferenceControllerTest {
} }
@Test @Test
@EnableFlags(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS) @EnableFlags(Flags.FLAG_NEW_DEFAULT_ACCOUNT_API_ENABLED)
public void getAvailabilityStatus_flagIsOn_shouldReturnAvailable() { public void getAvailabilityStatus_flagIsOn_shouldReturnAvailable() {
assertThat(mPreferenceController.getAvailabilityStatus()).isEqualTo(AVAILABLE); assertThat(mPreferenceController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
} }
@Test @Test
@RequiresFlagsDisabled(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS) @RequiresFlagsDisabled(Flags.FLAG_NEW_DEFAULT_ACCOUNT_API_ENABLED)
public void getAvailabilityStatus_flagIsOff_shouldReturnConditionallyUnavailable() { public void getAvailabilityStatus_flagIsOff_shouldReturnConditionallyUnavailable() {
assertThat(mPreferenceController.getAvailabilityStatus()).isEqualTo( assertThat(mPreferenceController.getAvailabilityStatus()).isEqualTo(
CONDITIONALLY_UNAVAILABLE); CONDITIONALLY_UNAVAILABLE);
} }
@Test @Test
@EnableFlags(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS) @EnableFlags(Flags.FLAG_NEW_DEFAULT_ACCOUNT_API_ENABLED)
public void getAvailabilityStatus_illegalStateExceptionThrown_shouldReturnConditionallyUnavailable() public void getAvailabilityStatus_illegalStateExceptionThrown_shouldReturnConditionallyUnavailable()
throws Exception { throws Exception {
when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(), when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),
@@ -135,7 +135,7 @@ public class ContactsStoragePreferenceControllerTest {
} }
@Test @Test
@EnableFlags(Flags.FLAG_ENABLE_CONTACTS_DEFAULT_ACCOUNT_IN_SETTINGS) @EnableFlags(Flags.FLAG_NEW_DEFAULT_ACCOUNT_API_ENABLED)
public void getAvailabilityStatus_runtimeExceptionThrown_shouldReturnConditionallyUnavailable() public void getAvailabilityStatus_runtimeExceptionThrown_shouldReturnConditionallyUnavailable()
throws Exception { throws Exception {
when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(), when(mContentProviderClient.call(eq(QUERY_DEFAULT_ACCOUNT_FOR_NEW_CONTACTS_METHOD), any(),