[Audiosharing] Apply new string resid

Test: atest
Flag: com.android.settingslib.flags.enable_le_audio_sharing
Bug: 362858921
Bug: 362858894
Change-Id: I4c80d834515e43bade5f2207dc013dc30c6ab7be
This commit is contained in:
Yiyi Shen
2024-09-23 12:03:06 +08:00
parent 7a91f6e7bf
commit 5ea28f5f0a
9 changed files with 40 additions and 35 deletions

View File

@@ -359,7 +359,7 @@ public abstract class BluetoothDevicePairingDetailBase extends DeviceListPrefere
String aliasName = device.getAlias(); String aliasName = device.getAlias();
String deviceName = TextUtils.isEmpty(aliasName) ? device.getAddress() String deviceName = TextUtils.isEmpty(aliasName) ? device.getAddress()
: aliasName; : aliasName;
showConnectingDialog("Connecting to " + deviceName + "..."); showConnectingDialog(deviceName);
// Wait for AUTO_DISMISS_TIME_THRESHOLD_MS and check if the paired device supports audio // Wait for AUTO_DISMISS_TIME_THRESHOLD_MS and check if the paired device supports audio
// sharing. // sharing.
if (!mHandler.hasMessages(AUTO_DISMISS_MESSAGE_ID)) { if (!mHandler.hasMessages(AUTO_DISMISS_MESSAGE_ID)) {
@@ -385,14 +385,15 @@ public abstract class BluetoothDevicePairingDetailBase extends DeviceListPrefere
} }
// TODO: use DialogFragment // TODO: use DialogFragment
private void showConnectingDialog(@NonNull String message) { private void showConnectingDialog(@NonNull String deviceName) {
postOnMainThread(() -> { postOnMainThread(() -> {
String message = getContext().getString(R.string.progress_dialog_connect_device_content,
deviceName);
if (mProgressDialog != null) { if (mProgressDialog != null) {
Log.d(getLogTag(), "showConnectingDialog, is already showing"); Log.d(getLogTag(), "showConnectingDialog, is already showing");
TextView textView = mProgressDialog.findViewById(R.id.message); TextView textView = mProgressDialog.findViewById(R.id.message);
if (textView != null && !message.equals(textView.getText().toString())) { if (textView != null && !message.equals(textView.getText().toString())) {
Log.d(getLogTag(), "showConnectingDialog, update message"); Log.d(getLogTag(), "showConnectingDialog, update message");
// TODO: use string res once finalized
textView.setText(message); textView.setText(message);
} }
return; return;
@@ -405,7 +406,6 @@ public abstract class BluetoothDevicePairingDetailBase extends DeviceListPrefere
null); null);
TextView textView = customView.findViewById(R.id.message); TextView textView = customView.findViewById(R.id.message);
if (textView != null) { if (textView != null) {
// TODO: use string res once finalized
textView.setText(message); textView.setText(message);
} }
AlertDialog dialog = builder.setView(customView).setCancelable(false).create(); AlertDialog dialog = builder.setView(customView).setCancelable(false).create();

View File

@@ -72,7 +72,7 @@ public class AudioSharingConfirmDialogFragment extends InstrumentedDialogFragmen
.setTitleIcon(com.android.settingslib.R.drawable.ic_bt_le_audio_sharing) .setTitleIcon(com.android.settingslib.R.drawable.ic_bt_le_audio_sharing)
.setIsCustomBodyEnabled(true) .setIsCustomBodyEnabled(true)
.setCustomMessage(R.string.audio_sharing_comfirm_dialog_content) .setCustomMessage(R.string.audio_sharing_comfirm_dialog_content)
.setPositiveButton(com.android.settings.R.string.okay, (d, w) -> {}) .setPositiveButton(R.string.okay, (d, w) -> {})
.build(); .build();
dialog.setCanceledOnTouchOutside(true); dialog.setCanceledOnTouchOutside(true);
return dialog; return dialog;

View File

@@ -26,6 +26,7 @@ import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.bluetooth.BluetoothUtils; import com.android.settingslib.bluetooth.BluetoothUtils;
@@ -65,15 +66,13 @@ public class AudioSharingErrorDialogFragment extends InstrumentedDialogFragment
@Override @Override
@NonNull @NonNull
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
// TODO: put strings to res till they are finalized
AlertDialog dialog = AlertDialog dialog =
AudioSharingDialogFactory.newBuilder(getActivity()) AudioSharingDialogFactory.newBuilder(getActivity())
.setTitle("Couldn't share audio") .setTitle(R.string.audio_sharing_retry_dialog_title)
.setTitleIcon(com.android.settings.R.drawable.ic_warning_24dp) .setTitleIcon(R.drawable.ic_warning_24dp)
.setIsCustomBodyEnabled(true) .setIsCustomBodyEnabled(true)
.setCustomMessage("Something went wrong. Please try again.") .setCustomMessage(R.string.audio_sharing_retry_dialog_content)
.setPositiveButton(com.android.settings.R.string.okay, (d, w) -> { .setPositiveButton(R.string.okay, (d, w) -> {})
})
.build(); .build();
dialog.setCanceledOnTouchOutside(true); dialog.setCanceledOnTouchOutside(true);
return dialog; return dialog;

View File

@@ -27,6 +27,7 @@ import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentManager;
import com.android.settings.R;
import com.android.settings.core.instrumentation.InstrumentedDialogFragment; import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
import com.android.settingslib.bluetooth.BluetoothUtils; import com.android.settingslib.bluetooth.BluetoothUtils;
@@ -88,15 +89,14 @@ public class AudioSharingIncompatibleDialogFragment extends InstrumentedDialogFr
public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) { public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
Bundle arguments = requireArguments(); Bundle arguments = requireArguments();
String deviceName = arguments.getString(BUNDLE_KEY_DEVICE_NAME); String deviceName = arguments.getString(BUNDLE_KEY_DEVICE_NAME);
// TODO: move strings to res once they are finalized
AlertDialog dialog = AlertDialog dialog =
AudioSharingDialogFactory.newBuilder(getActivity()) AudioSharingDialogFactory.newBuilder(getActivity())
.setTitle("Can't share audio with " + deviceName) .setTitle(getString(R.string.audio_sharing_incompatible_dialog_title,
.setTitleIcon(com.android.settings.R.drawable.ic_warning_24dp) deviceName))
.setTitleIcon(R.drawable.ic_warning_24dp)
.setIsCustomBodyEnabled(true) .setIsCustomBodyEnabled(true)
.setCustomMessage( .setCustomMessage(R.string.audio_sharing_incompatible_dialog_content)
"Audio sharing only works with headphones that support LE Audio.") .setPositiveButton(R.string.okay, (d, w) -> {})
.setPositiveButton(com.android.settings.R.string.okay, (d, w) -> {})
.build(); .build();
dialog.setCanceledOnTouchOutside(true); dialog.setCanceledOnTouchOutside(true);
return dialog; return dialog;

View File

@@ -571,10 +571,10 @@ public class AudioSharingSwitchBarController extends BasePreferenceController
if (mBroadcast != null) { if (mBroadcast != null) {
mBroadcast.startPrivateBroadcast(); mBroadcast.startPrivateBroadcast();
mSinksInAdding.clear(); mSinksInAdding.clear();
// TODO: use string res once finalized.
AudioSharingUtils.postOnMainThread(mContext, AudioSharingUtils.postOnMainThread(mContext,
() -> AudioSharingProgressDialogFragment.show(mFragment, () -> AudioSharingProgressDialogFragment.show(mFragment,
"Starting audio stream...")); mContext.getString(
R.string.audio_sharing_progress_dialog_start_stream_content)));
mMetricsFeatureProvider.action( mMetricsFeatureProvider.action(
mContext, mContext,
SettingsEnums.ACTION_AUDIO_SHARING_MAIN_SWITCH_ON, SettingsEnums.ACTION_AUDIO_SHARING_MAIN_SWITCH_ON,
@@ -830,8 +830,8 @@ public class AudioSharingSwitchBarController extends BasePreferenceController
private void addSourceToTargetSinks(List<BluetoothDevice> targetActiveSinks, private void addSourceToTargetSinks(List<BluetoothDevice> targetActiveSinks,
@NonNull String sinkName) { @NonNull String sinkName) {
mSinksInAdding.addAll(targetActiveSinks); mSinksInAdding.addAll(targetActiveSinks);
// TODO: move to res once finalized String progressMessage = mContext.getString(
String progressMessage = "Sharing with " + sinkName + "..."; R.string.audio_sharing_progress_dialog_add_source_content, sinkName);
showProgressDialog(progressMessage); showProgressDialog(progressMessage);
AudioSharingUtils.addSourceToTargetSinks(targetActiveSinks, mBtManager); AudioSharingUtils.addSourceToTargetSinks(targetActiveSinks, mBtManager);
} }

View File

@@ -211,9 +211,9 @@ public class BluetoothDevicePairingDetailBaseTest {
assertThat(dialog).isNotNull(); assertThat(dialog).isNotNull();
TextView message = dialog.findViewById(R.id.message); TextView message = dialog.findViewById(R.id.message);
assertThat(message).isNotNull(); assertThat(message).isNotNull();
// TODO: use stringr res once finalized
assertThat(message.getText().toString()).isEqualTo( 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(); verify(mFragment, never()).finish();
} }

View File

@@ -24,11 +24,13 @@ import android.bluetooth.BluetoothAdapter;
import android.bluetooth.BluetoothStatusCodes; import android.bluetooth.BluetoothStatusCodes;
import android.platform.test.flag.junit.SetFlagsRule; import android.platform.test.flag.junit.SetFlagsRule;
import android.view.View; import android.view.View;
import android.widget.TextView;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
import com.android.settings.R;
import com.android.settings.testutils.shadow.ShadowAlertDialogCompat; import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
import com.android.settings.testutils.shadow.ShadowBluetoothAdapter; import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
import com.android.settingslib.flags.Flags; import com.android.settingslib.flags.Flags;
@@ -114,6 +116,10 @@ public class AudioSharingErrorDialogFragmentTest {
AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog(); AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
assertThat(dialog).isNotNull(); assertThat(dialog).isNotNull();
assertThat(dialog.isShowing()).isTrue(); 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 @Test

View File

@@ -120,9 +120,9 @@ public class AudioSharingIncompatibleDialogFragmentTest {
assertThat(dialog.isShowing()).isTrue(); assertThat(dialog.isShowing()).isTrue();
TextView title = dialog.findViewById(R.id.title_text); TextView title = dialog.findViewById(R.id.title_text);
assertThat(title).isNotNull(); assertThat(title).isNotNull();
// TODO: use string res
assertThat(title.getText().toString()).isEqualTo( 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 @Test

View File

@@ -629,8 +629,8 @@ public class AudioSharingSwitchBarControllerTest {
AudioSharingProgressDialogFragment.class.getName()); AudioSharingProgressDialogFragment.class.getName());
AudioSharingProgressDialogFragment progressFragment = AudioSharingProgressDialogFragment progressFragment =
(AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments); (AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments);
// TODO: use string res once finalized String expectedMessage = mContext.getString(
String expectedMessage = "Starting audio stream..."; R.string.audio_sharing_progress_dialog_start_stream_content);
checkProgressDialogMessage(progressFragment, expectedMessage); checkProgressDialogMessage(progressFragment, expectedMessage);
when(mBroadcast.isEnabled(null)).thenReturn(true); when(mBroadcast.isEnabled(null)).thenReturn(true);
@@ -640,8 +640,8 @@ public class AudioSharingSwitchBarControllerTest {
verify(mFeatureFactory.metricsFeatureProvider) verify(mFeatureFactory.metricsFeatureProvider)
.action(any(Context.class), eq(SettingsEnums.ACTION_AUTO_JOIN_AUDIO_SHARING)); .action(any(Context.class), eq(SettingsEnums.ACTION_AUTO_JOIN_AUDIO_SHARING));
// TODO: use string res once finalized expectedMessage = mContext.getString(
expectedMessage = "Sharing with " + TEST_DEVICE_NAME2 + "..."; R.string.audio_sharing_progress_dialog_add_source_content, TEST_DEVICE_NAME2);
checkProgressDialogMessage(progressFragment, expectedMessage); checkProgressDialogMessage(progressFragment, expectedMessage);
childFragments = mParentFragment.getChildFragmentManager().getFragments(); childFragments = mParentFragment.getChildFragmentManager().getFragments();
@@ -714,8 +714,8 @@ public class AudioSharingSwitchBarControllerTest {
AudioSharingProgressDialogFragment.class.getName()); AudioSharingProgressDialogFragment.class.getName());
AudioSharingProgressDialogFragment progressFragment = AudioSharingProgressDialogFragment progressFragment =
(AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments); (AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments);
// TODO: use string res once finalized String expectedMessage = mContext.getString(
String expectedMessage = "Sharing with " + TEST_DEVICE_NAME1 + "..."; R.string.audio_sharing_progress_dialog_add_source_content, TEST_DEVICE_NAME1);
checkProgressDialogMessage(progressFragment, expectedMessage); checkProgressDialogMessage(progressFragment, expectedMessage);
childFragments.forEach(fragment -> ((DialogFragment) fragment).dismiss()); childFragments.forEach(fragment -> ((DialogFragment) fragment).dismiss());
@@ -755,8 +755,8 @@ public class AudioSharingSwitchBarControllerTest {
AudioSharingProgressDialogFragment.class.getName()); AudioSharingProgressDialogFragment.class.getName());
AudioSharingProgressDialogFragment progressFragment = AudioSharingProgressDialogFragment progressFragment =
(AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments); (AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments);
// TODO: use string res once finalized String expectedMessage = mContext.getString(
String expectedMessage = "Sharing with " + TEST_DEVICE_NAME2 + "..."; R.string.audio_sharing_progress_dialog_add_source_content, TEST_DEVICE_NAME2);
checkProgressDialogMessage(progressFragment, expectedMessage); checkProgressDialogMessage(progressFragment, expectedMessage);
childFragments.forEach(fragment -> ((DialogFragment) fragment).dismiss()); childFragments.forEach(fragment -> ((DialogFragment) fragment).dismiss());
@@ -1027,8 +1027,8 @@ public class AudioSharingSwitchBarControllerTest {
// Progress dialog shows sharing progress for the auto add second sink. // Progress dialog shows sharing progress for the auto add second sink.
AudioSharingProgressDialogFragment progressFragment = AudioSharingProgressDialogFragment progressFragment =
(AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments); (AudioSharingProgressDialogFragment) Iterables.getOnlyElement(childFragments);
// TODO: use string res once finalized String expectedMessage = mContext.getString(
String expectedMessage = "Sharing with " + TEST_DEVICE_NAME1 + "..."; R.string.audio_sharing_progress_dialog_add_source_content, TEST_DEVICE_NAME1);
checkProgressDialogMessage(progressFragment, expectedMessage); checkProgressDialogMessage(progressFragment, expectedMessage);
childFragments.forEach(fragment -> ((DialogFragment) fragment).dismiss()); childFragments.forEach(fragment -> ((DialogFragment) fragment).dismiss());