|
12 | 12 | import android.content.Context;
|
13 | 13 | import android.content.DialogInterface;
|
14 | 14 | import android.content.res.TypedArray;
|
15 |
| -import android.os.Build; |
16 | 15 | import android.os.Bundle;
|
17 |
| -import android.view.LayoutInflater; |
18 |
| -import android.view.View; |
19 |
| -import android.widget.TextView; |
20 | 16 | import androidx.annotation.Nullable;
|
21 | 17 | import androidx.appcompat.app.AlertDialog;
|
22 |
| -import androidx.core.view.AccessibilityDelegateCompat; |
23 |
| -import androidx.core.view.ViewCompat; |
24 |
| -import androidx.core.view.accessibility.AccessibilityNodeInfoCompat; |
25 | 18 | import androidx.fragment.app.DialogFragment;
|
26 |
| -import com.facebook.infer.annotation.Assertions; |
27 | 19 | import com.facebook.infer.annotation.Nullsafe;
|
28 |
| -import com.facebook.react.R; |
29 | 20 |
|
30 | 21 | /** A fragment used to display the dialog. */
|
31 | 22 | @Nullsafe(Nullsafe.Mode.LOCAL)
|
@@ -75,55 +66,15 @@ private static boolean isAppCompatTheme(Context activityContext) {
|
75 | 66 | return isAppCompat;
|
76 | 67 | }
|
77 | 68 |
|
78 |
| - /** |
79 |
| - * Creates a custom dialog title View that has the role of "Heading" and focusable for |
80 |
| - * accessibility purposes. |
81 |
| - * |
82 |
| - * @returns accessible TextView title |
83 |
| - */ |
84 |
| - private static View getAccessibleTitle(Context activityContext, String titleText) { |
85 |
| - LayoutInflater inflater = LayoutInflater.from(activityContext); |
86 |
| - |
87 |
| - // This layout matches the sizing and styling of AlertDialog's title_template (minus the icon) |
88 |
| - // since the whole thing gets tossed out when setting a custom title |
89 |
| - View titleContainer = inflater.inflate(R.layout.alert_title_layout, null); |
90 |
| - |
91 |
| - TextView accessibleTitle = |
92 |
| - Assertions.assertNotNull(titleContainer.findViewById(R.id.alert_title)); |
93 |
| - accessibleTitle.setText(titleText); |
94 |
| - accessibleTitle.setFocusable(true); |
95 |
| - |
96 |
| - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { |
97 |
| - accessibleTitle.setAccessibilityHeading(true); |
98 |
| - } else { |
99 |
| - ViewCompat.setAccessibilityDelegate( |
100 |
| - accessibleTitle, |
101 |
| - new AccessibilityDelegateCompat() { |
102 |
| - @Override |
103 |
| - public void onInitializeAccessibilityNodeInfo( |
104 |
| - View view, AccessibilityNodeInfoCompat info) { |
105 |
| - super.onInitializeAccessibilityNodeInfo(accessibleTitle, info); |
106 |
| - info.setHeading(true); |
107 |
| - } |
108 |
| - }); |
109 |
| - } |
110 |
| - |
111 |
| - return titleContainer; |
112 |
| - } |
113 |
| - |
114 | 69 | /**
|
115 | 70 | * Creates a dialog compatible only with AppCompat activities. This function should be kept in
|
116 | 71 | * sync with {@link createAppDialog}.
|
117 | 72 | */
|
118 | 73 | private static Dialog createAppCompatDialog(
|
119 | 74 | Context activityContext, Bundle arguments, DialogInterface.OnClickListener fragment) {
|
120 |
| - AlertDialog.Builder builder = new AlertDialog.Builder(activityContext); |
| 75 | + AlertDialog.Builder builder = |
| 76 | + new AlertDialog.Builder(activityContext).setTitle(arguments.getString(ARG_TITLE)); |
121 | 77 |
|
122 |
| - if (arguments.containsKey(ARG_TITLE)) { |
123 |
| - String title = Assertions.assertNotNull(arguments.getString(ARG_TITLE)); |
124 |
| - View accessibleTitle = getAccessibleTitle(activityContext, title); |
125 |
| - builder.setCustomTitle(accessibleTitle); |
126 |
| - } |
127 | 78 | if (arguments.containsKey(ARG_BUTTON_POSITIVE)) {
|
128 | 79 | builder.setPositiveButton(arguments.getString(ARG_BUTTON_POSITIVE), fragment);
|
129 | 80 | }
|
@@ -154,13 +105,10 @@ private static Dialog createAppCompatDialog(
|
154 | 105 | @Deprecated(since = "0.75.0", forRemoval = true)
|
155 | 106 | private static Dialog createAppDialog(
|
156 | 107 | Context activityContext, Bundle arguments, DialogInterface.OnClickListener fragment) {
|
157 |
| - android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(activityContext); |
| 108 | + android.app.AlertDialog.Builder builder = |
| 109 | + new android.app.AlertDialog.Builder(activityContext) |
| 110 | + .setTitle(arguments.getString(ARG_TITLE)); |
158 | 111 |
|
159 |
| - if (arguments.containsKey(ARG_TITLE)) { |
160 |
| - String title = Assertions.assertNotNull(arguments.getString(ARG_TITLE)); |
161 |
| - View accessibleTitle = getAccessibleTitle(activityContext, title); |
162 |
| - builder.setCustomTitle(accessibleTitle); |
163 |
| - } |
164 | 112 | if (arguments.containsKey(ARG_BUTTON_POSITIVE)) {
|
165 | 113 | builder.setPositiveButton(arguments.getString(ARG_BUTTON_POSITIVE), fragment);
|
166 | 114 | }
|
|
0 commit comments