Merge "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" into main

This commit is contained in:
Dongzhuo Zhang
2024-10-25 03:09:09 +00:00
committed by Android (Google) Code Review
4 changed files with 9 additions and 8 deletions

View File

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

View File

@@ -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" />

View File

@@ -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;
}

View File

@@ -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(),