From 5ea28f5f0a10eb90b11fa53ec98e547487099ad3 Mon Sep 17 00:00:00 2001 From: Yiyi Shen Date: Mon, 23 Sep 2024 12:03:06 +0800 Subject: [PATCH] [Audiosharing] Apply new string resid Test: atest Flag: com.android.settingslib.flags.enable_le_audio_sharing Bug: 362858921 Bug: 362858894 Change-Id: I4c80d834515e43bade5f2207dc013dc30c6ab7be --- .../BluetoothDevicePairingDetailBase.java | 8 ++++---- .../AudioSharingConfirmDialogFragment.java | 2 +- .../AudioSharingErrorDialogFragment.java | 11 +++++----- ...udioSharingIncompatibleDialogFragment.java | 12 +++++------ .../AudioSharingSwitchBarController.java | 8 ++++---- .../BluetoothDevicePairingDetailBaseTest.java | 4 ++-- .../AudioSharingErrorDialogFragmentTest.java | 6 ++++++ ...SharingIncompatibleDialogFragmentTest.java | 4 ++-- .../AudioSharingSwitchBarControllerTest.java | 20 +++++++++---------- 9 files changed, 40 insertions(+), 35 deletions(-) diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java b/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java index f1e12a4a6fe..2c65934dd72 100644 --- a/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java +++ b/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java @@ -359,7 +359,7 @@ public abstract class BluetoothDevicePairingDetailBase extends DeviceListPrefere String aliasName = device.getAlias(); String deviceName = TextUtils.isEmpty(aliasName) ? device.getAddress() : aliasName; - showConnectingDialog("Connecting to " + deviceName + "..."); + showConnectingDialog(deviceName); // Wait for AUTO_DISMISS_TIME_THRESHOLD_MS and check if the paired device supports audio // sharing. if (!mHandler.hasMessages(AUTO_DISMISS_MESSAGE_ID)) { @@ -385,14 +385,15 @@ public abstract class BluetoothDevicePairingDetailBase extends DeviceListPrefere } // TODO: use DialogFragment - private void showConnectingDialog(@NonNull String message) { + private void showConnectingDialog(@NonNull String deviceName) { postOnMainThread(() -> { + String message = getContext().getString(R.string.progress_dialog_connect_device_content, + deviceName); if (mProgressDialog != null) { Log.d(getLogTag(), "showConnectingDialog, is already showing"); TextView textView = mProgressDialog.findViewById(R.id.message); if (textView != null && !message.equals(textView.getText().toString())) { Log.d(getLogTag(), "showConnectingDialog, update message"); - // TODO: use string res once finalized textView.setText(message); } return; @@ -405,7 +406,6 @@ public abstract class BluetoothDevicePairingDetailBase extends DeviceListPrefere null); TextView textView = customView.findViewById(R.id.message); if (textView != null) { - // TODO: use string res once finalized textView.setText(message); } AlertDialog dialog = builder.setView(customView).setCancelable(false).create(); diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java index 3750cf1ebbe..9b60df43029 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java +++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingConfirmDialogFragment.java @@ -72,7 +72,7 @@ public class AudioSharingConfirmDialogFragment extends InstrumentedDialogFragmen .setTitleIcon(com.android.settingslib.R.drawable.ic_bt_le_audio_sharing) .setIsCustomBodyEnabled(true) .setCustomMessage(R.string.audio_sharing_comfirm_dialog_content) - .setPositiveButton(com.android.settings.R.string.okay, (d, w) -> {}) + .setPositiveButton(R.string.okay, (d, w) -> {}) .build(); dialog.setCanceledOnTouchOutside(true); return dialog; diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingErrorDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingErrorDialogFragment.java index 95b9bc36b92..e842b37eef7 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingErrorDialogFragment.java +++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingErrorDialogFragment.java @@ -26,6 +26,7 @@ import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; +import com.android.settings.R; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.bluetooth.BluetoothUtils; @@ -65,15 +66,13 @@ public class AudioSharingErrorDialogFragment extends InstrumentedDialogFragment @Override @NonNull public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { - // TODO: put strings to res till they are finalized AlertDialog dialog = AudioSharingDialogFactory.newBuilder(getActivity()) - .setTitle("Couldn't share audio") - .setTitleIcon(com.android.settings.R.drawable.ic_warning_24dp) + .setTitle(R.string.audio_sharing_retry_dialog_title) + .setTitleIcon(R.drawable.ic_warning_24dp) .setIsCustomBodyEnabled(true) - .setCustomMessage("Something went wrong. Please try again.") - .setPositiveButton(com.android.settings.R.string.okay, (d, w) -> { - }) + .setCustomMessage(R.string.audio_sharing_retry_dialog_content) + .setPositiveButton(R.string.okay, (d, w) -> {}) .build(); dialog.setCanceledOnTouchOutside(true); return dialog; diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragment.java index aceeb94420e..a8ad70b3695 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragment.java +++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragment.java @@ -27,6 +27,7 @@ import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; +import com.android.settings.R; import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settingslib.bluetooth.BluetoothUtils; @@ -88,15 +89,14 @@ public class AudioSharingIncompatibleDialogFragment extends InstrumentedDialogFr public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { Bundle arguments = requireArguments(); String deviceName = arguments.getString(BUNDLE_KEY_DEVICE_NAME); - // TODO: move strings to res once they are finalized AlertDialog dialog = AudioSharingDialogFactory.newBuilder(getActivity()) - .setTitle("Can't share audio with " + deviceName) - .setTitleIcon(com.android.settings.R.drawable.ic_warning_24dp) + .setTitle(getString(R.string.audio_sharing_incompatible_dialog_title, + deviceName)) + .setTitleIcon(R.drawable.ic_warning_24dp) .setIsCustomBodyEnabled(true) - .setCustomMessage( - "Audio sharing only works with headphones that support LE Audio.") - .setPositiveButton(com.android.settings.R.string.okay, (d, w) -> {}) + .setCustomMessage(R.string.audio_sharing_incompatible_dialog_content) + .setPositiveButton(R.string.okay, (d, w) -> {}) .build(); dialog.setCanceledOnTouchOutside(true); return dialog; diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java index ebc8cecadbf..b91a1f1df04 100644 --- a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java +++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java @@ -571,10 +571,10 @@ public class AudioSharingSwitchBarController extends BasePreferenceController if (mBroadcast != null) { mBroadcast.startPrivateBroadcast(); mSinksInAdding.clear(); - // TODO: use string res once finalized. AudioSharingUtils.postOnMainThread(mContext, () -> AudioSharingProgressDialogFragment.show(mFragment, - "Starting audio stream...")); + mContext.getString( + R.string.audio_sharing_progress_dialog_start_stream_content))); mMetricsFeatureProvider.action( mContext, SettingsEnums.ACTION_AUDIO_SHARING_MAIN_SWITCH_ON, @@ -830,8 +830,8 @@ public class AudioSharingSwitchBarController extends BasePreferenceController private void addSourceToTargetSinks(List targetActiveSinks, @NonNull String sinkName) { mSinksInAdding.addAll(targetActiveSinks); - // TODO: move to res once finalized - String progressMessage = "Sharing with " + sinkName + "..."; + String progressMessage = mContext.getString( + R.string.audio_sharing_progress_dialog_add_source_content, sinkName); showProgressDialog(progressMessage); AudioSharingUtils.addSourceToTargetSinks(targetActiveSinks, mBtManager); } diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java index e326c1e2630..9f0cb6e35d9 100644 --- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java +++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java @@ -211,9 +211,9 @@ public class BluetoothDevicePairingDetailBaseTest { assertThat(dialog).isNotNull(); TextView message = dialog.findViewById(R.id.message); assertThat(message).isNotNull(); - // TODO: use stringr res once finalized assertThat(message.getText().toString()).isEqualTo( - "Connecting to " + TEST_DEVICE_ADDRESS + "..."); + mContext.getString(R.string.progress_dialog_connect_device_content, + TEST_DEVICE_ADDRESS)); verify(mFragment, never()).finish(); } diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingErrorDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingErrorDialogFragmentTest.java index fc38cd2817d..a8451b1e24e 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingErrorDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingErrorDialogFragmentTest.java @@ -24,11 +24,13 @@ import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothStatusCodes; import android.platform.test.flag.junit.SetFlagsRule; import android.view.View; +import android.widget.TextView; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; +import com.android.settings.R; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; import com.android.settingslib.flags.Flags; @@ -114,6 +116,10 @@ public class AudioSharingErrorDialogFragmentTest { AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog(); assertThat(dialog).isNotNull(); assertThat(dialog.isShowing()).isTrue(); + TextView title = dialog.findViewById(R.id.title_text); + assertThat(title).isNotNull(); + assertThat(title.getText().toString()).isEqualTo( + mParent.getString(R.string.audio_sharing_retry_dialog_title)); } @Test diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragmentTest.java index 67cb2aa915b..8d89646d3fb 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragmentTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingIncompatibleDialogFragmentTest.java @@ -120,9 +120,9 @@ public class AudioSharingIncompatibleDialogFragmentTest { assertThat(dialog.isShowing()).isTrue(); TextView title = dialog.findViewById(R.id.title_text); assertThat(title).isNotNull(); - // TODO: use string res assertThat(title.getText().toString()).isEqualTo( - "Can't share audio with " + TEST_DEVICE_NAME); + mParent.getString(R.string.audio_sharing_incompatible_dialog_title, + TEST_DEVICE_NAME)); } @Test diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java index 58696dccbea..fb5aa1c957e 100644 --- a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java +++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java @@ -629,8 +629,8 @@ public class AudioSharingSwitchBarControllerTest { AudioSharingProgressDialogFragment.class.getName()); AudioSharingProgressDialogFragment progressFragment = (AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments); - // TODO: use string res once finalized - String expectedMessage = "Starting audio stream..."; + String expectedMessage = mContext.getString( + R.string.audio_sharing_progress_dialog_start_stream_content); checkProgressDialogMessage(progressFragment, expectedMessage); when(mBroadcast.isEnabled(null)).thenReturn(true); @@ -640,8 +640,8 @@ public class AudioSharingSwitchBarControllerTest { verify(mFeatureFactory.metricsFeatureProvider) .action(any(Context.class), eq(SettingsEnums.ACTION_AUTO_JOIN_AUDIO_SHARING)); - // TODO: use string res once finalized - expectedMessage = "Sharing with " + TEST_DEVICE_NAME2 + "..."; + expectedMessage = mContext.getString( + R.string.audio_sharing_progress_dialog_add_source_content, TEST_DEVICE_NAME2); checkProgressDialogMessage(progressFragment, expectedMessage); childFragments = mParentFragment.getChildFragmentManager().getFragments(); @@ -714,8 +714,8 @@ public class AudioSharingSwitchBarControllerTest { AudioSharingProgressDialogFragment.class.getName()); AudioSharingProgressDialogFragment progressFragment = (AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments); - // TODO: use string res once finalized - String expectedMessage = "Sharing with " + TEST_DEVICE_NAME1 + "..."; + String expectedMessage = mContext.getString( + R.string.audio_sharing_progress_dialog_add_source_content, TEST_DEVICE_NAME1); checkProgressDialogMessage(progressFragment, expectedMessage); childFragments.forEach(fragment -> ((DialogFragment) fragment).dismiss()); @@ -755,8 +755,8 @@ public class AudioSharingSwitchBarControllerTest { AudioSharingProgressDialogFragment.class.getName()); AudioSharingProgressDialogFragment progressFragment = (AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments); - // TODO: use string res once finalized - String expectedMessage = "Sharing with " + TEST_DEVICE_NAME2 + "..."; + String expectedMessage = mContext.getString( + R.string.audio_sharing_progress_dialog_add_source_content, TEST_DEVICE_NAME2); checkProgressDialogMessage(progressFragment, expectedMessage); childFragments.forEach(fragment -> ((DialogFragment) fragment).dismiss()); @@ -1027,8 +1027,8 @@ public class AudioSharingSwitchBarControllerTest { // Progress dialog shows sharing progress for the auto add second sink. AudioSharingProgressDialogFragment progressFragment = (AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments); - // TODO: use string res once finalized - String expectedMessage = "Sharing with " + TEST_DEVICE_NAME1 + "..."; + String expectedMessage = mContext.getString( + R.string.audio_sharing_progress_dialog_add_source_content, TEST_DEVICE_NAME1); checkProgressDialogMessage(progressFragment, expectedMessage); childFragments.forEach(fragment -> ((DialogFragment) fragment).dismiss());